本文整理匯總了Java中com.bumptech.glide.request.target.Target.SIZE_ORIGINAL屬性的典型用法代碼示例。如果您正苦於以下問題:Java Target.SIZE_ORIGINAL屬性的具體用法?Java Target.SIZE_ORIGINAL怎麽用?Java Target.SIZE_ORIGINAL使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類com.bumptech.glide.request.target.Target
的用法示例。
在下文中一共展示了Target.SIZE_ORIGINAL屬性的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: transform
@Override
public final Resource<Bitmap> transform(
Context context, Resource<Bitmap> resource, int outWidth, int outHeight) {
if (!Util.isValidDimensions(outWidth, outHeight)) {
throw new IllegalArgumentException(
"Cannot apply transformation on width: " + outWidth + " or height: " + outHeight
+ " less than or equal to zero and not Target.SIZE_ORIGINAL");
}
BitmapPool bitmapPool = Glide.get(context).getBitmapPool();
Bitmap toTransform = resource.get();
int targetWidth = outWidth == Target.SIZE_ORIGINAL ? toTransform.getWidth() : outWidth;
int targetHeight = outHeight == Target.SIZE_ORIGINAL ? toTransform.getHeight() : outHeight;
Bitmap transformed = transform(bitmapPool, toTransform, targetWidth, targetHeight);
final Resource<Bitmap> result;
if (toTransform.equals(transformed)) {
result = resource;
} else {
result = BitmapResource.obtain(transformed, bitmapPool);
}
return result;
}
示例2: drawToBitmap
@Nullable
private static Bitmap drawToBitmap(
BitmapPool bitmapPool, Drawable drawable, int width, int height) {
if (width == Target.SIZE_ORIGINAL && drawable.getIntrinsicWidth() <= 0) {
if (Log.isLoggable(TAG, Log.WARN)) {
Log.w(TAG, "Unable to draw " + drawable + " to Bitmap with Target.SIZE_ORIGINAL because the"
+ " Drawable has no intrinsic width");
}
return null;
}
if (height == Target.SIZE_ORIGINAL && drawable.getIntrinsicHeight() <= 0) {
if (Log.isLoggable(TAG, Log.WARN)) {
Log.w(TAG, "Unable to draw " + drawable + " to Bitmap with Target.SIZE_ORIGINAL because the"
+ " Drawable has no intrinsic height");
}
return null;
}
int targetWidth = drawable.getIntrinsicWidth() > 0 ? drawable.getIntrinsicWidth() : width;
int targetHeight = drawable.getIntrinsicHeight() > 0 ? drawable.getIntrinsicHeight() : height;
Lock lock = TransformationUtils.getBitmapDrawableLock();
lock.lock();
Bitmap result = bitmapPool.get(targetWidth, targetHeight, Bitmap.Config.ARGB_8888);
try {
Canvas canvas = new Canvas(result);
drawable.setBounds(0, 0, targetWidth, targetHeight);
drawable.draw(canvas);
canvas.setBitmap(null);
} finally {
lock.unlock();
}
return result;
}
示例3: maybeApplySizeMultiplier
private static int maybeApplySizeMultiplier(int size, float sizeMultiplier) {
return size == Target.SIZE_ORIGINAL ? size : Math.round(sizeMultiplier * size);
}
示例4: decodeFromWrappedStreams
private Bitmap decodeFromWrappedStreams(InputStream is,
BitmapFactory.Options options, DownsampleStrategy downsampleStrategy,
DecodeFormat decodeFormat, int requestedWidth, int requestedHeight,
boolean fixBitmapToRequestedDimensions, DecodeCallbacks callbacks) throws IOException {
int[] sourceDimensions = getDimensions(is, options, callbacks);
int sourceWidth = sourceDimensions[0];
int sourceHeight = sourceDimensions[1];
String sourceMimeType = options.outMimeType;
int orientation = ImageHeaderParserUtils.getOrientation(parsers, is, byteArrayPool);
int degreesToRotate = TransformationUtils.getExifOrientationDegrees(orientation);
options.inPreferredConfig = getConfig(is, decodeFormat);
if (options.inPreferredConfig != Bitmap.Config.ARGB_8888) {
options.inDither = true;
}
int targetWidth = requestedWidth == Target.SIZE_ORIGINAL ? sourceWidth : requestedWidth;
int targetHeight = requestedHeight == Target.SIZE_ORIGINAL ? sourceHeight : requestedHeight;
calculateScaling(downsampleStrategy, degreesToRotate, sourceWidth, sourceHeight, targetWidth,
targetHeight, options);
boolean isKitKatOrGreater = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
// Prior to KitKat, the inBitmap size must exactly match the size of the bitmap we're decoding.
if ((options.inSampleSize == 1 || isKitKatOrGreater)
&& shouldUsePool(is)) {
int expectedWidth;
int expectedHeight;
if (fixBitmapToRequestedDimensions && isKitKatOrGreater) {
expectedWidth = targetWidth;
expectedHeight = targetHeight;
} else {
float densityMultiplier = isScaling(options)
? (float) options.inTargetDensity / options.inDensity : 1f;
int sampleSize = options.inSampleSize;
int downsampledWidth = (int) Math.ceil(sourceWidth / (float) sampleSize);
int downsampledHeight = (int) Math.ceil(sourceHeight / (float) sampleSize);
expectedWidth = Math.round(downsampledWidth * densityMultiplier);
expectedHeight = Math.round(downsampledHeight * densityMultiplier);
if (Log.isLoggable(TAG, Log.VERBOSE)) {
Log.v(TAG, "Calculated target [" + expectedWidth + "x" + expectedHeight + "] for source"
+ " [" + sourceWidth + "x" + sourceHeight + "]"
+ ", sampleSize: " + sampleSize
+ ", targetDensity: " + options.inTargetDensity
+ ", density: " + options.inDensity
+ ", density multiplier: " + densityMultiplier);
}
}
// If this isn't an image, or BitmapFactory was unable to parse the size, width and height
// will be -1 here.
if (expectedWidth > 0 && expectedHeight > 0) {
setInBitmap(options, bitmapPool, expectedWidth, expectedHeight);
}
}
Bitmap downsampled = decodeStream(is, options, callbacks);
callbacks.onDecodeComplete(bitmapPool, downsampled);
if (Log.isLoggable(TAG, Log.VERBOSE)) {
logDecode(sourceWidth, sourceHeight, sourceMimeType, options, downsampled,
requestedWidth, requestedHeight);
}
Bitmap rotated = null;
if (downsampled != null) {
// If we scaled, the Bitmap density will be our inTargetDensity. Here we correct it back to
// the expected density dpi.
downsampled.setDensity(displayMetrics.densityDpi);
rotated = TransformationUtils.rotateImageExif(bitmapPool, downsampled, orientation);
if (!downsampled.equals(rotated)) {
bitmapPool.put(downsampled);
}
}
return rotated;
}
示例5: isValidDimension
private static boolean isValidDimension(int dimen) {
return dimen > 0 || dimen == Target.SIZE_ORIGINAL;
}
示例6: isThumbnailSize
public static boolean isThumbnailSize(int width, int height) {
return width != Target.SIZE_ORIGINAL
&& height != Target.SIZE_ORIGINAL
&& width <= MINI_THUMB_WIDTH
&& height <= MINI_THUMB_HEIGHT;
}
示例7: buildSrcFromName
@SuppressWarnings("ResourceAsColor")
private Bitmap buildSrcFromName(final String firstChar, int w, int h) {
if (w == Target.SIZE_ORIGINAL || w <= 0)
w = 80;
if (h == Target.SIZE_ORIGINAL || h <= 0)
h = 80;
final int size = Math.max(Math.min(Math.min(w, h), 220), 64);
final float fontSize = size * 0.4f;
log("firstChar:" + firstChar + " size:" + size + " fontSize:" + fontSize);
Bitmap bitmap = Bitmap.createBitmap(size, size, Bitmap.Config.RGB_565);
TextPaint paint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
paint.setAntiAlias(true);
paint.setDither(true);
paint.setColor(Color.WHITE);
paint.setTextAlign(Paint.Align.CENTER);
paint.setTextSize(fontSize);
paint.setTypeface(Typeface.SANS_SERIF);
// check ASCII
final int charNum = Character.getNumericValue(firstChar.charAt(0));
if (charNum > 0 && charNum < 177) {
Typeface typeface = getFont(getContext(), "Numans-Regular.otf");
if (typeface != null)
paint.setTypeface(typeface);
}
Rect rect = new Rect();
paint.getTextBounds(firstChar, 0, 1, rect);
int fontHeight = rect.height();
log(rect.toString());
int fontHalfH = fontHeight >> 1;
int centerX = bitmap.getWidth() >> 1;
int centerY = bitmap.getHeight() >> 1;
Canvas canvas = new Canvas(bitmap);
canvas.drawColor(getBackgroundColor(firstChar));
canvas.drawText(firstChar, centerX, centerY + fontHalfH, paint);
return bitmap;
}