Class CenterCrop

  • All Implemented Interfaces:
    Key, Transformation<android.graphics.Bitmap>

    public class CenterCrop
    extends BitmapTransformation
    Scale the image so that either the width of the image matches the given width and the height of the image is greater than the given height or vice versa, and then crop the larger dimension to match the given dimension.

    Does not maintain the image's aspect ratio

    • Constructor Summary

      Constructors 
      Constructor Description
      CenterCrop()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object o)
      For caching to work correctly, implementations must implement this method and Key.hashCode().
      int hashCode()
      For caching to work correctly, implementations must implement this method and Key.equals(Object).
      protected android.graphics.Bitmap transform​(BitmapPool pool, android.graphics.Bitmap toTransform, int outWidth, int outHeight)
      Transforms the given Bitmap based on the given dimensions and returns the transformed result.
      void updateDiskCacheKey​(java.security.MessageDigest messageDigest)
      Adds all uniquely identifying information to the given digest.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CenterCrop

        public CenterCrop()
    • Method Detail

      • transform

        protected android.graphics.Bitmap transform​(@NonNull
                                                    BitmapPool pool,
                                                    @NonNull
                                                    android.graphics.Bitmap toTransform,
                                                    int outWidth,
                                                    int outHeight)
        Description copied from class: BitmapTransformation
        Transforms the given Bitmap based on the given dimensions and returns the transformed result.

        The provided Bitmap, toTransform, should not be recycled or returned to the pool. Glide will automatically recycle and/or reuse toTransform if the transformation returns a different Bitmap. Similarly implementations should never recycle or return Bitmaps that are returned as the result of this method. Recycling or returning the provided and/or the returned Bitmap to the pool will lead to a variety of runtime exceptions and drawing errors. See #408 for an example. If the implementation obtains and discards intermediate Bitmaps, they may safely be returned to the BitmapPool and/or recycled.

        outWidth and outHeight will never be Target.SIZE_ORIGINAL, this class converts them to be the size of the Bitmap we're going to transform before calling this method.

        Specified by:
        transform in class BitmapTransformation
        Parameters:
        pool - A BitmapPool that can be used to obtain and return intermediate Bitmaps used in this transformation. For every Bitmap obtained from the pool during this transformation, a Bitmap must also be returned.
        toTransform - The Bitmap to transform.
        outWidth - The ideal width of the transformed bitmap (the transformed width does not need to match exactly).
        outHeight - The ideal height of the transformed bitmap (the transformed height does not need to match exactly).
      • equals

        public boolean equals​(java.lang.Object o)
        Description copied from interface: Key
        For caching to work correctly, implementations must implement this method and Key.hashCode().
        Specified by:
        equals in interface Key
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Description copied from interface: Key
        For caching to work correctly, implementations must implement this method and Key.equals(Object).
        Specified by:
        hashCode in interface Key
        Overrides:
        hashCode in class java.lang.Object
      • updateDiskCacheKey

        public void updateDiskCacheKey​(@NonNull
                                       java.security.MessageDigest messageDigest)
        Description copied from interface: Key
        Adds all uniquely identifying information to the given digest.

        Note - Using MessageDigest.reset() inside of this method will result in undefined behavior.