com.nostra13.universalimageloader.core.assist.ImageScaleType Maven / Gradle / Ivy
/*******************************************************************************
* Copyright 2011-2013 Sergey Tarasevich
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*******************************************************************************/
package com.nostra13.universalimageloader.core.assist;
/**
* Type of image scaling during decoding.
*
* @author Sergey Tarasevich (nostra13[at]gmail[dot]com)
* @since 1.5.0
*/
public enum ImageScaleType {
/** Image won't be scaled */
NONE,
/**
* Image will be reduces 2-fold until next reduce step make image smaller target size.
* It's fast type and it's preferable for usage in lists/grids/galleries (and other
* {@linkplain android.widget.AdapterView adapter-views}) .
* Relates to {@link android.graphics.BitmapFactory.Options#inSampleSize}
* Note: If original image size is smaller than target size then original image won't be scaled.
*/
IN_SAMPLE_POWER_OF_2,
/**
* Image will be subsampled in an integer number of times (1, 2, 3, ...). Use it if memory economy is quite
* important.
* Relates to {@link android.graphics.BitmapFactory.Options#inSampleSize}
* Note: If original image size is smaller than target size then original image won't be scaled.
*/
IN_SAMPLE_INT,
/**
* Image will scaled-down exactly to target size (scaled width or height or both will be equal to target size;
* depends on {@linkplain android.widget.ImageView.ScaleType ImageView's scale type}). Use it if memory economy is
* critically important.
* Note: If original image size is smaller than target size then original image won't be scaled.
*
* NOTE: For creating result Bitmap (of exact size) additional Bitmap will be created with
* {@link android.graphics.Bitmap#createBitmap(android.graphics.Bitmap, int, int, int, int, android.graphics.Matrix, boolean)
* Bitmap.createBitmap(...)}.
* Cons: Saves memory by keeping smaller Bitmap in memory cache (comparing with IN_SAMPLE... scale types)
* Pros: Requires more memory in one time for creation of result Bitmap.
*/
EXACTLY,
/**
* Image will scaled exactly to target size (scaled width or height or both will be equal to target size; depends on
* {@linkplain android.widget.ImageView.ScaleType ImageView's scale type}). Use it if memory economy is critically
* important.
* Note: If original image size is smaller than target size then original image will be stretched to
* target size.
*
* NOTE: For creating result Bitmap (of exact size) additional Bitmap will be created with
* {@link android.graphics.Bitmap#createBitmap(android.graphics.Bitmap, int, int, int, int, android.graphics.Matrix, boolean)
* Bitmap.createBitmap(...)}.
* Cons: Saves memory by keeping smaller Bitmap in memory cache (comparing with IN_SAMPLE... scale types)
* Pros: Requires more memory in one time for creation of result Bitmap.
*/
EXACTLY_STRETCHED
}