Beispiel #1
0
        // Original source: http://stackoverflow.com/questions/8467141/ios-how-to-achieve-emboss-effect-for-the-text-on-uilabel
        public static UIImage MaskImage(UIImage image, UIImage maskImage)
        {
            var maskRef = maskImage.CGImage;

            var mask = CGImage.CreateMask(maskRef.Width,
                                          maskRef.Height,
                                          maskRef.BitsPerComponent,
                                          maskRef.BitsPerPixel,
                                          maskRef.BytesPerRow,
                                          maskRef.DataProvider,
                                          null, false);

            // CGImages return new instances too!
            var cgImage = image.CGImage;
            var masked  = cgImage.WithMask(mask);

            cgImage.Dispose();
            mask.Dispose();

            var img = UIImage.FromImage(masked);

            masked.Dispose();
            maskRef.Dispose();

            UIGraphics.BeginImageContext(img.Size);
            img.Draw(new RectangleF(0, 0, img.Size.Width, img.Size.Height));
            UIImage copy = UIGraphics.GetImageFromCurrentImageContext();

            UIGraphics.EndImageContext();

            img.Dispose();
            return(copy);
        }
Beispiel #2
0
        public static UIImage MaskImage(this UIImage img, UIImage maskImage)
        {
            var maskRef = maskImage.CGImage;
            var mask    = CGImage.CreateMask((int)maskRef.Width, (int)maskRef.Height,
                                             (int)maskRef.BitsPerComponent, (int)maskRef.BitsPerPixel,
                                             (int)maskRef.BytesPerRow, maskRef.DataProvider, null, false);
            var masked = img.CGImage.WithMask(mask);

            return(new UIImage(masked));
        }
Beispiel #3
0
        public TwittView()
        {
            _backgroundImageView = new UIImageView();
            _userNameLabel       = ViewFactory.CreateUILabel();
            _userMaskImageView   = new UIImageView();
            _viaLabel            = ViewFactory.CreateUILabel();
            _twittTextLabel      = ViewFactory.CreateUILabel();
            _lineImageView       = new UIImageView();
            _twittDateLabel      = ViewFactory.CreateUILabel();
            _twittUrlLabel       = ViewFactory.CreateUILabel();

            AddSubview(_backgroundImageView);
            AddSubview(_userNameLabel);
            AddSubview(_viaLabel);
            AddSubview(_twittTextLabel);
            AddSubview(_lineImageView);
            AddSubview(_twittDateLabel);
            AddSubview(_twittUrlLabel);
            AddSubview(_userMaskImageView);

            _backgroundImageView.Image = UIImage.FromFile(ImagePathes.TwittBg);

            _userNameLabel.Font      = UIFont.BoldSystemFontOfSize(14);
            _userNameLabel.TextColor = UIColor.FromRGB(69, 99, 141);

            _viaLabel.Font = UIFont.BoldSystemFontOfSize(12);

            _twittTextLabel.Font = UIFont.SystemFontOfSize(12);

            _twittTextLabel.LineBreakMode = UILineBreakMode.WordWrap;
            _twittTextLabel.Lines         = 0;

            _lineImageView.Image = UIImage.FromFile(ImagePathes.Line);
            _lineImageView.SizeToFit();

            _twittDateLabel.Font      = UIFont.SystemFontOfSize(10);
            _twittDateLabel.TextColor = UIColor.FromRGB(123, 123, 123);

            _userMaskImageView.Frame = new RectangleF(0, 0, 72, 72);
            var maskImg = UIImage.FromFile(ImagePathes.MaskAvatar).CGImage;

            _mask = CGImage.CreateMask(maskImg.Width, maskImg.Height, maskImg.BitsPerComponent, maskImg.BitsPerPixel, maskImg.BytesPerRow, maskImg.DataProvider, null, true);
        }
Beispiel #4
0
        public TwittTableCell(UITableViewCellStyle style, string reuseIdentifier) : base(style, reuseIdentifier)
        {
            ContentView.BackgroundColor = UIColor.FromRGB(235, 235, 235);

            _timeLabel           = ViewFactory.CreateUILabel();
            _timeLabel.TextColor = UIColor.FromRGB(159, 159, 159);
            _timeLabel.Font      = UIFont.SystemFontOfSize(10);
            ContentView.AddSubview(_timeLabel);

            TextLabel.BackgroundColor       = UIColor.Clear;
            TextLabel.Font                  = UIFont.BoldSystemFontOfSize(15);
            DetailTextLabel.BackgroundColor = UIColor.Clear;
            DetailTextLabel.TextColor       = UIColor.FromRGB(159, 159, 159);


            var maskImg = UIImage.FromFile(ImagePathes.AvatarMini).CGImage;

            _mask = CGImage.CreateMask(maskImg.Width, maskImg.Height, maskImg.BitsPerComponent, maskImg.BitsPerPixel, maskImg.BytesPerRow, maskImg.DataProvider, null, true);

            var size = _timeLabel.Frame.Size;

            _timeLabel.Frame = new RectangleF(new System.Drawing.PointF(Bounds.Width - 25, 15), size);
        }