/** * Set the image source from a bitmap, resource, asset, file or other URI. * @param imageSource Image source. */ public final void setImage(@NonNull ImageSource imageSource) { setImage(imageSource, null, null); }
/** * Set the image source from a bitmap, resource, asset, file or other URI, starting with a given orientation * setting, scale and center. This is the best method to use when you want scale and center to be restored * after screen orientation change; it avoids any redundant loading of tiles in the wrong orientation. * @param imageSource Image source. * @param state State to be restored. Nullable. */ public final void setImage(@NonNull ImageSource imageSource, ImageViewState state) { setImage(imageSource, null, state); }
/** * Set the image source from a bitmap, resource, asset, file or other URI, providing a preview image to be * displayed until the full size image is loaded. * * You must declare the dimensions of the full size image by calling {@link ImageSource#dimensions(int, int)} * on the imageSource object. The preview source will be ignored if you don't provide dimensions, * and if you provide a bitmap for the full size image. * @param imageSource Image source. Dimensions must be declared. * @param previewSource Optional source for a preview image to be displayed and allow interaction while the full size image loads. */ public final void setImage(@NonNull ImageSource imageSource, ImageSource previewSource) { setImage(imageSource, previewSource, null); }
@Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(layout.view_pager_page, container, false); if (savedInstanceState != null) { if (asset == null && savedInstanceState.containsKey(BUNDLE_ASSET)) { asset = savedInstanceState.getString(BUNDLE_ASSET); } } if (asset != null) { SubsamplingScaleImageView imageView = rootView.findViewById(id.imageView); imageView.setImage(ImageSource.asset(asset)); } return rootView; }
@Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(layout.imagedisplay_large_fragment, container, false); final ImageDisplayActivity activity = (ImageDisplayActivity)getActivity(); if (activity != null) { rootView.findViewById(id.next).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { activity.next(); } }); } SubsamplingScaleImageView imageView = rootView.findViewById(id.imageView); imageView.setImage(ImageSource.asset("card.png")); return rootView; }
@Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(layout.extension_circle_fragment, container, false); final ExtensionActivity activity = (ExtensionActivity)getActivity(); if (activity != null) { rootView.findViewById(id.next).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { activity.next(); } }); rootView.findViewById(id.previous).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { activity.previous(); } }); } SubsamplingScaleImageView imageView = rootView.findViewById(id.imageView); imageView.setImage(ImageSource.asset("sanmartino.jpg")); return rootView; }
@Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(layout.imagedisplay_rotate_fragment, container, false); final SubsamplingScaleImageView imageView = rootView.findViewById(id.imageView); imageView.setImage(ImageSource.asset("swissroad.jpg")); imageView.setOrientation(90); final ImageDisplayActivity activity = (ImageDisplayActivity)getActivity(); if (activity != null) { rootView.findViewById(id.previous).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { activity.previous(); } }); rootView.findViewById(id.next).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { activity.next(); } }); } rootView.findViewById(id.rotate).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { imageView.setOrientation((imageView.getOrientation() + 90) % 360); } }); return rootView; }
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); SubsamplingScaleImageView view = findViewById(id.imageView); view.setImage(ImageSource.asset("sanmartino.jpg")); }
@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); view = findViewById(id.imageView); view.setImage(ImageSource.asset("card.png")); }
@Override public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(layout.imagedisplay_region_fragment, container, false); final SubsamplingScaleImageView imageView = rootView.findViewById(id.imageView); imageView.setBitmapDecoderFactory(new CompatDecoderFactory<ImageDecoder>(SkiaImageDecoder.class, Bitmap.Config.ARGB_8888)); imageView.setRegionDecoderFactory(new CompatDecoderFactory<ImageRegionDecoder>(SkiaImageRegionDecoder.class, Bitmap.Config.ARGB_8888)); imageView.setOrientation(SubsamplingScaleImageView.ORIENTATION_90); imageView.setImage(ImageSource.asset("card.png").region(new Rect(5200, 651, 8200, 3250))); final ImageDisplayActivity activity = (ImageDisplayActivity)getActivity(); if (activity != null) { rootView.findViewById(id.previous).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { activity.previous(); } }); } rootView.findViewById(id.rotate).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { imageView.setOrientation((imageView.getOrientation() + 90) % 360); } }); return rootView; }
String assetName = typedAttr.getString(styleable.SubsamplingScaleImageView_assetName); if (assetName != null && assetName.length() > 0) { setImage(ImageSource.asset(assetName).tilingEnabled()); int resId = typedAttr.getResourceId(styleable.SubsamplingScaleImageView_src, 0); if (resId > 0) { setImage(ImageSource.resource(resId).tilingEnabled());
void setPage(PdfRenderer.Page page) { if (bitmap==null) { int height=2000; int width=height * page.getWidth() / page.getHeight(); bitmap=Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); } bitmap.eraseColor(0xFFFFFFFF); page.render(bitmap, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY); iv.resetScaleAndCenter(); iv.setImage(ImageSource.cachedBitmap(bitmap)); } }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SubsamplingScaleImageView imageView = findViewById(id.imageView); imageView.setImage(ImageSource.asset("sanmartino.jpg")); imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(v.getContext(), "Clicked", Toast.LENGTH_SHORT).show(); } }); imageView.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { Toast.makeText(v.getContext(), "Long clicked", Toast.LENGTH_SHORT).show(); return true; } }); }
imageView.setImage(ImageSource.asset("sanmartino.jpg")); imageView.setOnTouchListener(new View.OnTouchListener() { @Override
@UiThread private void doShowImage(final int imageType, final File image) { if (mMainView != null) { removeView(mMainView); } mMainView = mViewFactory.createMainView(getContext(), imageType, image, mInitScaleType); if (mMainView == null) { onFail(new RuntimeException("Image type not supported: " + ImageInfoExtractor.typeName(imageType))); return; } addView(mMainView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); mMainView.setOnClickListener(mOnClickListener); mMainView.setOnLongClickListener(mOnLongClickListener); if (mMainView instanceof SubsamplingScaleImageView) { mSSIV = (SubsamplingScaleImageView) mMainView; mSSIV.setMinimumTileDpi(160); setOptimizeDisplay(mOptimizeDisplay); setInitScaleType(mInitScaleType); mSSIV.setImage(ImageSource.uri(Uri.fromFile(image))); } if (mFailureImageView != null) { mFailureImageView.setVisibility(GONE); } }
@Override @SuppressWarnings("NewApi") public Object instantiateItem(ViewGroup container, int position) { View v = inflater.inflate(R.layout.view_pdf_page, container, false); SubsamplingScaleImageView ssiv = v.findViewById(R.id.subsamplingImageView); if (renderer == null || getCount() < position) { return v; } PdfRenderer.Page page = getPDFPage(renderer, position); Bitmap bitmap = bitmapContainer.get(position); ssiv.setImage(ImageSource.bitmap(bitmap)); page.render(bitmap, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY); page.close(); ((ViewPager) container).addView(v, 0); return v; }
/** * Set the image source from a bitmap, resource, asset, file or other URI, providing a preview image to be * displayed until the full size image is loaded. * * You must declare the dimensions of the full size image by calling {@link ImageSource#dimensions(int, int)} * on the imageSource object. The preview source will be ignored if you don't provide dimensions, * and if you provide a bitmap for the full size image. * @param imageSource Image source. Dimensions must be declared. * @param previewSource Optional source for a preview image to be displayed and allow interaction while the full size image loads. */ public final void setImage(ImageSource imageSource, ImageSource previewSource) { setImage(imageSource, previewSource, null); }
/** * Set the image source from a bitmap, resource, asset, file or other URI. * @param imageSource Image source. */ public final void setImage(ImageSource imageSource) { setImage(imageSource, null, null); }
/** * Set the image source from a bitmap, resource, asset, file or other URI, starting with a given orientation * setting, scale and center. This is the best method to use when you want scale and center to be restored * after screen orientation change; it avoids any redundant loading of tiles in the wrong orientation. * @param imageSource Image source. * @param state State to be restored. Nullable. */ public final void setImage(ImageSource imageSource, ImageViewState state) { setImage(imageSource, null, state); }
@Override public void onResourceReady(File resource, Transition<? super File> transition) { //设置图片初始化状态 = 从顶部开始加载 ImageViewState state = new ImageViewState(0, new PointF(0, 0), 0); if (mHeight < 1920 || mWidth > 1080) { mImageView.setImageURI(Uri.fromFile(resource)); } else { mImageView.setVisibility(View.GONE); sliderIv.setVisibility(View.VISIBLE); sliderIv.setImage(ImageSource.uri(Uri.fromFile(resource).getPath()), state); } } });