在iPad上放大(分解)类似于iPhone模拟器的CGImageRef。1px到2px

在iPad上放大(分解)类似于iPhone模拟器的CGImageRef。1px到2px,iphone,ios,image,Iphone,Ios,Image,我想通过复制像素来放大(分解)图像 1像素->2像素 了解如何读取单个像素(RGBA): CFDataRef m_DataRef=CGDataProviderCopyData(cgmagegetdataprovider(myImage)); UInt8*m_PixelBuf=(UInt8*)CFDataGetBytePtr(m_DataRef); int length=CFDataGetLength(m_DataRef); 对于(int i=0;i以目标大小创建一个CGBitmapContext

我想通过复制像素来放大(分解)图像

1像素->2像素

了解如何读取单个像素(RGBA):

CFDataRef m_DataRef=CGDataProviderCopyData(cgmagegetdataprovider(myImage));
UInt8*m_PixelBuf=(UInt8*)CFDataGetBytePtr(m_DataRef);
int length=CFDataGetLength(m_DataRef);

对于(int i=0;i以目标大小创建一个CGBitmapContext,然后将图像绘制到其中。

我为iOS维护了一个非常易于使用的库,名为。
ANImageBitmapRep
类允许您以多种不同的方式轻松缩放图像,包括最基本的:

UIImage * myImage = [UIImage imageNamed:@"myImage.png"];
ANImageBitmapRep * irep = [ANImageBitmapRep imageBitmapRepWithImage:myImage];
[irep setSize:BMPointMake(width, height)];
UIImage * scaled = [irep image];
这将实现您想要做的事情,而无需处理大量位图上下文和CoreGraphics。我还将注意到,每个
ANImageBitmapRep
都有一个
CGContextRef
,可以使用
context
方法轻松检索。如果手动更改上下文,只需运行
[myBitmap setNeedsUpdate:是]


您还可以使用
setSizeFittingFrame:
setSizeFillingFrame:
方法进行缩放,这将永远不会使图像比例失调。

谢谢!我总是倾向于走更艰难的路!
UIImage * myImage = [UIImage imageNamed:@"myImage.png"];
ANImageBitmapRep * irep = [ANImageBitmapRep imageBitmapRepWithImage:myImage];
[irep setSize:BMPointMake(width, height)];
UIImage * scaled = [irep image];