标签: cgbitmapcontext

在iOS中处理大图像

我想让用户在不限制大小的情况下选择照片,然后进行编辑.

我的想法是创建与用于编辑的屏幕尺寸相同的大照片的缩略图,然后,在编辑完成后,使用大照片进行在缩略图上执行的相同编辑.

当我UIGraphicsBeginImageContext用来创建缩略图时,它会导致内存问题.

我知道由于硬件限制很难直接编辑整个大图像,所以我想知道是否有一种方法可以将大图像下采样到不到2048*2048而没有内存问题?

我发现有一个BitmapFactory类可以inSampleSize选择在Android平台上对照片进行下采样.怎么能在iOS上完成?

photo thumbnails uiimage cgbitmapcontext ios

11
推荐指数
1
解决办法
6391
查看次数

如何使用renderInContext:CGBitmapContextCreate和Retina?

我手动创建了一个CGBitmapContext:

bitmapContext = CGBitmapContextCreate( myImageData, width, height, 8, 4 * width, colorSpace, kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big );
Run Code Online (Sandbox Code Playgroud)

并绘制一个图层:

[self.myView.layer renderInContext:bitmapContext];
Run Code Online (Sandbox Code Playgroud)

但是,在Retina上,我的图层仅渲染原始尺寸的一半.

在上面设置contentScaleFactor属性UIView不会改变任何东西.

这样做的正确方法是什么?

calayer cgbitmapcontext retina-display

4
推荐指数
1
解决办法
1884
查看次数

iPhone:Retina显示写字体到UIImage

Objective-C答案很好,我使用MonoTouch作为参考.

我在UIImage上面写文字.Retina以波涛汹涌的方式显示字体.看起来像素加倍,我猜是正在发生的事情.如何将一个清晰的字体写入UIImage?

 //context is a CGBitmapContext

 context.SetFillColor (color.CGColor);
 context.SelectFont (font.Name, font.PointSize, CGTextEncoding.MacRoman);

 context.SetTextDrawingMode (CGTextDrawingMode.Fill);
 context.ShowTextAtPoint (pt.X, pt.Y, text);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

iphone cgbitmapcontext uifont xamarin.ios ios

3
推荐指数
1
解决办法
769
查看次数

"无效句柄"创建CGBitmapContext

我遇到了CGBitmapcontext的问题.我在创建带有"无效句柄"消息的CGBitmapContext时遇到错误.

这是我的代码:

var previewContext = new CGBitmapContext(null, (int)ExportedImage.Size.Width, (int)ExportedImage.Size.Height, 8, (int)ExportedImage.Size.Height * 4,                                                    CGColorSpace.CreateDeviceRGB(), CGImageAlphaInfo.PremultipliedFirst);
Run Code Online (Sandbox Code Playgroud)

谢谢;

cgbitmapcontext xamarin.ios

2
推荐指数
1
解决办法
1018
查看次数