예제 #1
0
 public ColorItem(int resid, string line1, string line2, ImageView.ScaleType scaleType)
 {
     ResourceId = resid;
     Line1      = line1;
     Line2      = line2;
     ScaleType  = scaleType;
 }
예제 #2
0
 private void UpdateAspect()
 {
     using (ImageView.ScaleType scaleType = ToScaleType(Element.Aspect))
     {
         Control.SetScaleType(scaleType);
     }
 }
예제 #3
0
        /**
         * Creates a {@link Builder} to build a {@link Style} upon.
         *
         * @param baseStyle
         *   The base {@link Style} to use for this {@link Style}.
         */

        public StyleBuilder(Style baseStyle)
        {
            Configuration   = baseStyle.Configuration;
            BackgroundColor = baseStyle.BackgroundColor;
            BackgroundDrawableResourceId = baseStyle.BackgroundDrawableResourceId;
            IsTileEnabled        = baseStyle.IsTileEnabled;
            TextColorResourceId  = baseStyle.TextColorResourceId;
            TextColor            = baseStyle.TextColor;
            HeightInPixels       = baseStyle.HeightInPixels;
            HeightDimensionResId = baseStyle.HeightDimensionResId;
            WidthInPixels        = baseStyle.WidthInPixels;
            WidthDimensionResId  = baseStyle.WidthDimensionResId;
            Gravity               = baseStyle.Gravity;
            ImageDrawable         = baseStyle.ImageDrawable;
            TextSize              = baseStyle.TextSize;
            TextShadowColorResId  = baseStyle.TextShadowColorResId;
            TextShadowRadius      = baseStyle.TextShadowRadius;
            TextShadowDx          = baseStyle.TextShadowDx;
            TextShadowDy          = baseStyle.TextShadowDy;
            TextAppearanceResId   = baseStyle.TextAppearanceResId;
            ImageResId            = baseStyle.ImageResId;
            ImageScaleType        = baseStyle.ImageScaleType;
            PaddingInPixels       = baseStyle.PaddingInPixels;
            PaddingDimensionResId = baseStyle.PaddingDimensionResId;
            FontName              = baseStyle.FontName;
            FontNameResId         = baseStyle.FontNameResId;
        }
 public void SetScaleType
 (
     ImageView.ScaleType thumbnailScaleType
 )
 {
     _thumbnailScaleType = thumbnailScaleType;
 }
예제 #5
0
 public StreamItem(Context c, int resid, string line1, string line2, ImageView.ScaleType scaleType, Shader.TileMode tileMode = null)
 {
     Bitmap    = BitmapFactory.DecodeResource(c.Resources, resid);
     Line1     = line1;
     Line2     = line2;
     ScaleType = scaleType;
     TileMode  = tileMode ?? Shader.TileMode.Clamp;
 }
예제 #6
0
        /// <summary>
        /// Updates the <see cref="NativeImage"/>'s scale type based on the <see cref="Image.Aspect"/> property.
        /// </summary>
        private void UpdateAspect()
        {
            if (Element == null || NativeImage == null)
            {
                return;
            }

            ImageView.ScaleType type = this.GetScaleType(Element.Aspect);
            NativeImage.SetScaleType(type);
        }
예제 #7
0
        public void SetScaleType(ImageView.ScaleType scaleType)
        {
            if (IsSupportedScaleType(scaleType) && scaleType != mScaleType)
            {
                mScaleType = scaleType;

                // Finally update
                Update();
            }
        }
예제 #8
0
        static void UpdateAspect(IImageRendererController rendererController, ImageView Control, IImageElement newImage, IImageElement previous = null)
        {
            if (newImage == null || rendererController.IsDisposed)
            {
                return;
            }

            ImageView.ScaleType type = newImage.Aspect.ToScaleType();
            Control.SetScaleType(type);
        }
예제 #9
0
파일: Info.cs 프로젝트: rainmanzj/ZhihuFind
 public Info(RectF rect, RectF img, RectF widget, RectF b, PointF screenCenter, float scale, float degrees, ImageView.ScaleType scaleType)
 {
     mRect.Set(rect);
     mImgRect.Set(img);
     mWidgetRect.Set(widget);
     mScale     = scale;
     mScaleType = scaleType;
     mDegrees   = degrees;
     mBaseRect.Set(b);
     mScreenCenter.Set(screenCenter);
 }
예제 #10
0
        void UpdateAspect()
        {
            if (Element == null || Control == null || _isDisposed)
            {
                return;
            }

            ImageView.ScaleType type = Element.Aspect.ToScaleType();

            Control.SetScaleType(type);
        }
예제 #11
0
 private void UpdateAspect()
 {
     try
     {
         using ImageView.ScaleType scaleType = ToScaleType(Element.Aspect);
         if (Control != null)
         {
             Control.SetScaleType(scaleType);
         }
     }
     catch (Exception) { }
 }
        private void SwitchThumbnailScalingTo
        (
            ImageView.ScaleType targetType
        )
        {
            if (_thumbnailScaleType != targetType)
            {
                _thumbnailScaleType = targetType;

                _scaleTypeChanged();
            }
        }
예제 #13
0
		public static ImageView.ScaleType ToScaleType(this Aspect aspect)
		{
			switch (aspect)
			{
				case Aspect.Fill:
					return s_fill ?? (s_fill = ImageView.ScaleType.FitXy);
				case Aspect.AspectFill:
					return s_aspectFill ?? (s_aspectFill = ImageView.ScaleType.CenterCrop);
				default:
				case Aspect.AspectFit:
					return s_aspectFit ?? (s_aspectFit = ImageView.ScaleType.FitCenter);
			}
		}
예제 #14
0
        private bool IsSupportedScaleType(ImageView.ScaleType scaleType)
        {
            if (null == scaleType)
            {
                return(false);
            }

            if (scaleType == ImageView.ScaleType.Matrix)
            {
                throw new Java.Lang.IllegalArgumentException(scaleType.Name() + " is not supported in PhotoView");
            }

            return(true);
        }
예제 #15
0
        public static ImageView.ScaleType ToScaleType(this Aspect aspect)
        {
            switch (aspect)
            {
            case Aspect.Fill:
                return(s_fill ?? (s_fill = ImageView.ScaleType.FitXy));

            case Aspect.AspectFill:
                return(s_aspectFill ?? (s_aspectFill = ImageView.ScaleType.CenterCrop));

            default:
            case Aspect.AspectFit:
                return(s_aspectFit ?? (s_aspectFit = ImageView.ScaleType.FitCenter));
            }
        }
        protected void HandleThumbnailScaleType
        (
            ImageView thumbnailView
        )
        {
            ImageView.ScaleType thumbnailScaleType = thumbnailView.GetScaleType();
            ImageView.ScaleType activityScaleType  = _getScaleType();

            if (activityScaleType == null)
            {
                _setScaleType(thumbnailScaleType);
            }
            else if (activityScaleType != thumbnailScaleType)
            {
                thumbnailView.SetScaleType(activityScaleType);
            }
        }
예제 #17
0
        /** Creates a {@link Builder} to build a {@link Style} upon. */

        public StyleBuilder()
        {
            Configuration   = Configuration.DEFAULT;
            PaddingInPixels = 10;
            BackgroundColor = Color.Blue;
            BackgroundDrawableResourceId = 0;
            IsTileEnabled       = false;
            TextColorResourceId = Resource.Color.white;
            TextColor           = Color.Black;
            HeightInPixels      = ViewGroup.LayoutParams.WrapContent;
            WidthInPixels       = ViewGroup.LayoutParams.MatchParent;
            Gravity             = (int)GravityFlags.Center;
            ImageDrawable       = null;
            ImageResId          = 0;
            ImageScaleType      = ImageView.ScaleType.FitXy;
            FontName            = null;
            FontNameResId       = 0;
        }
        public ImageSlideAdapter(Context _context, List <string> _imageItems, Xamarin.Forms.Aspect aspect)
        {
            imageItems = _imageItems;
            context    = _context;
            switch (aspect)
            {
            case Xamarin.Forms.Aspect.Fill:
                scaleType = ImageView.ScaleType.FitXy;
                break;

            case Xamarin.Forms.Aspect.AspectFill:
                scaleType = ImageView.ScaleType.CenterCrop;
                break;

            case Xamarin.Forms.Aspect.AspectFit:
                scaleType = ImageView.ScaleType.FitCenter;
                break;
            }
        }
예제 #19
0
        /** The {@link android.widget.ImageView.ScaleType} for the image. */

        public StyleBuilder SetImageScaleType(ImageView.ScaleType imageScaleType)
        {
            ImageScaleType = imageScaleType;
            return(this);
        }
예제 #20
0
 public PicassoItem(string url, ImageView.ScaleType scaleType)
 {
     mUrl       = url;
     mScaleType = scaleType;
 }
예제 #21
0
 private void UpdateAspect()
 {
     using (ImageView.ScaleType scaleType = this.ToScaleType(this.Element.Aspect))
         this.Control.SetScaleType(scaleType);
     this.Control.RequestLayout();
 }
        /**
         * Process incoming {@linkplain Bitmap} to make rounded corners according to target
         * {@link com.nostra13.universalimageloader.core.imageaware.ImageViewAware}.<br />
         * This method <b>doesn't display</b> result bitmap in {@link ImageView}
         *
         * @param bitmap      Incoming Bitmap to process
         * @param imageAware  Target {@link com.nostra13.universalimageloader.core.imageaware.ImageAware ImageAware} to
         *                    display bitmap in
         * @param roundPixels Rounded pixels of corner
         * @return Result bitmap with rounded corners
         */
        public static Bitmap RoundCorners(Bitmap bitmap, ImageViewAware imageAware, int roundPixels)
        {
            ImageView imageView = imageAware.WrappedView;

            if (imageView == null)
            {
                L.W("View is collected probably. Can't round bitmap corners without view properties.");
                return(bitmap);
            }

            Bitmap roundBitmap;

            int bw = bitmap.Width;
            int bh = bitmap.Height;
            int vw = imageAware.Width;
            int vh = imageAware.Height;

            if (vw <= 0)
            {
                vw = bw;
            }
            if (vh <= 0)
            {
                vh = bh;
            }

            ImageView.ScaleType scaleType = imageView.GetScaleType();
            if (scaleType == null)
            {
                return(bitmap);
            }

            int  width, height;
            Rect srcRect;
            Rect destRect;

            if (scaleType == ImageView.ScaleType.CenterInside)
            {
                float vRation = (float)vw / vh;
                float bRation = (float)bw / bh;
                int   destWidth;
                int   destHeight;
                if (vRation > bRation)
                {
                    destHeight = Math.Min(vh, bh);
                    destWidth  = (int)(bw / ((float)bh / destHeight));
                }
                else
                {
                    destWidth  = Math.Min(vw, bw);
                    destHeight = (int)(bh / ((float)bw / destWidth));
                }
                int x = (vw - destWidth) / 2;
                int y = (vh - destHeight) / 2;
                srcRect  = new Rect(0, 0, bw, bh);
                destRect = new Rect(x, y, x + destWidth, y + destHeight);
                width    = vw;
                height   = vh;
            }
            else if (scaleType == ImageView.ScaleType.CenterCrop)
            {
                float vRation = (float)vw / vh;
                float bRation = (float)bw / bh;
                int   srcWidth;
                int   srcHeight;
                int   x;
                int   y;
                if (vRation > bRation)
                {
                    srcWidth  = bw;
                    srcHeight = (int)(vh * ((float)bw / vw));
                    x         = 0;
                    y         = (bh - srcHeight) / 2;
                }
                else
                {
                    srcWidth  = (int)(vw * ((float)bh / vh));
                    srcHeight = bh;
                    x         = (bw - srcWidth) / 2;
                    y         = 0;
                }
                width    = srcWidth;  // Math.min(vw, bw);
                height   = srcHeight; //Math.min(vh, bh);
                srcRect  = new Rect(x, y, x + srcWidth, y + srcHeight);
                destRect = new Rect(0, 0, width, height);
            }
            else if (scaleType == ImageView.ScaleType.FitXy)
            {
                width    = vw;
                height   = vh;
                srcRect  = new Rect(0, 0, bw, bh);
                destRect = new Rect(0, 0, width, height);
            }
            else if (scaleType == ImageView.ScaleType.Center ||
                     scaleType == ImageView.ScaleType.Matrix)
            {
                width  = Math.Min(vw, bw);
                height = Math.Min(vh, bh);
                int x = (bw - width) / 2;
                int y = (bh - height) / 2;
                srcRect  = new Rect(x, y, x + width, y + height);
                destRect = new Rect(0, 0, width, height);
            }
            else
            //if (scaleType == ImageView.ScaleType.FitCenter
            //|| scaleType == ImageView.ScaleType.FitStart
            //|| scaleType == ImageView.ScaleType.FitEnd)
            //|| default
            {
                float vRation = (float)vw / vh;
                float bRation = (float)bw / bh;
                if (vRation > bRation)
                {
                    width  = (int)(bw / ((float)bh / vh));
                    height = vh;
                }
                else
                {
                    width  = vw;
                    height = (int)(bh / ((float)bw / vw));
                }
                srcRect  = new Rect(0, 0, bw, bh);
                destRect = new Rect(0, 0, width, height);
            }

            try
            {
                roundBitmap = GetRoundedCornerBitmap(bitmap, roundPixels, srcRect, destRect, width, height);
            }
            catch (Java.Lang.OutOfMemoryError e)
            {
                L.E(e, "Can't create bitmap with rounded corners. Not enough memory.");
                roundBitmap = bitmap;
            }

            return(roundBitmap);
        }
예제 #23
0
 public RoundedDrawable SetScaleType(ImageView.ScaleType scaleType)
 {
     if (scaleType == null)
     {
         scaleType = ImageView.ScaleType.FitCenter;
     }
     if (_mScaleType != scaleType)
     {
         _mScaleType = scaleType;
         UpdateShaderMatrix();
     }
     return this;
 }