public final class ImageSizeUtils extends Object
限定符和类型 | 方法和说明 |
---|---|
static int |
computeImageSampleSize(ImageSize srcSize,
ImageSize targetSize,
ViewScaleType viewScaleType,
boolean powerOf2Scale)
Computes sample size for downscaling image size (srcSize) to view size (targetSize).
|
static float |
computeImageScale(ImageSize srcSize,
ImageSize targetSize,
ViewScaleType viewScaleType,
boolean stretch)
Computes scale of target size (targetSize) to source size (srcSize).
|
static int |
computeMinImageSampleSize(ImageSize srcSize)
Computes minimal sample size for downscaling image so result image size won't exceed max acceptable OpenGL
texture size.
|
static ImageSize |
defineTargetSizeForView(ImageAware imageAware,
ImageSize maxImageSize)
Defines target size for image aware view.
|
public static ImageSize defineTargetSizeForView(ImageAware imageAware, ImageSize maxImageSize)
view
parameters, configuration
parameters or device display dimensions.public static int computeImageSampleSize(ImageSize srcSize, ImageSize targetSize, ViewScaleType viewScaleType, boolean powerOf2Scale)
srcSize(100x100), targetSize(10x10), powerOf2Scale = true -> sampleSize = 8 srcSize(100x100), targetSize(10x10), powerOf2Scale = false -> sampleSize = 10 srcSize(100x100), targetSize(20x40), viewScaleType = FIT_INSIDE -> sampleSize = 5 srcSize(100x100), targetSize(20x40), viewScaleType = CROP -> sampleSize = 2
srcSize
- Original (image) sizetargetSize
- Target (view) sizeviewScaleType
- Scale type for placing image in viewpowerOf2Scale
- true - if sample size be a power of 2 (1, 2, 4, 8, ...)public static int computeMinImageSampleSize(ImageSize srcSize)
srcSize
- Original image sizepublic static float computeImageScale(ImageSize srcSize, ImageSize targetSize, ViewScaleType viewScaleType, boolean stretch)
srcSize(40x40), targetSize(10x10) -> scale = 0.25 srcSize(10x10), targetSize(20x20), stretch = false -> scale = 1 srcSize(10x10), targetSize(20x20), stretch = true -> scale = 2 srcSize(100x100), targetSize(20x40), viewScaleType = FIT_INSIDE -> scale = 0.2 srcSize(100x100), targetSize(20x40), viewScaleType = CROP -> scale = 0.4
srcSize
- Source (image) sizetargetSize
- Target (view) sizeviewScaleType
- Scale type for placing image in viewstretch
- Whether source size should be stretched if target size is larger than source size. If false
then result scale value can't be greater than 1.