问题标签 [cgimage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - iPhone - CGImageCreateWithImageInRect 旋转一些相机胶卷图片
我正在为 iPhone 开发像素化应用程序。因为使用 iPhone 4 相机拍摄的照片太大,因此在更新像素化图片时应用程序运行非常缓慢,我尝试先创建图片的图块,然后只更新图块而不是孔图。
在构建图块时,它适用于以横向模式 (2592 x 1936 像素) 和低分辨率图片拍摄的相机胶卷照片,但不适用于以纵向模式 (1936 x 2592 像素) 拍摄的照片。
从原始图像中切割瓷砖的代码如下所示:
问题是使用这些图块创建的图像逆时针旋转了 90 度角。
非常感谢,安德烈
iphone - -[UIImage CGImage] 返回零
我想知道在什么情况下这段代码会在第二个断言中中断。换句话说,什么时候可以-[UIImage CGImage]
返回nil
?文档在这里不是很能说明问题。
我很确定, UIImage 是正确的,因为它是从应用程序包中获取的。到目前为止,我还无法重现此案例,但我确实看到了一些用户崩溃报告。
iphone - iPhone - UIImage imageWithData 返回 nil
我需要从一个字节数组创建一个 UIImage。现在我创建字节数组:
数据变量是一个无符号字符。
这就是我尝试获取 UIImage 的方式:
img (UIImage) 保持为零。
好的,这不是背景:我正在尝试创建一个像素化应用程序:)。来自 iPhone 4 相机的图像尺寸太大,所以我将图像分割成较小的图像。这样做,当需要更新像素化(触摸)区域以显示像素化效果时,我正在更新一个较小的 UIImage。我需要这样做,因为在之前的测试中,它看起来就像 UIImage 的更新正在杀死 CPU。尽管如此,较小的图像现在大约为 80x100 像素,并且更新不是尽可能顺利。有时,如果您快速移动手指,它会错过一些点:D。我认为使用这种方法从字节数组创建 UIImage 比这个更快:
我对么?
objective-c - 从 NSData 显示 NSImage
我的目标是在视图中显示图像。考虑到我有一个:
- IBOutlet NSImageView *image 用于显示我的图像
- NSData *imageData 用于读取图像文件
- NSImage *imageView
在 imageData 中存储图像(我使用了 initWithContentsOfFile 方法)。
现在,如果我使用以下命令初始化 imageView:
我可以正确地看到图像的渲染,但是通过这种方式我从文件系统中读取了两次。
如果我尝试:
显示的图像非常小..像拇指
Whit CGImageRef:
图像仍然渲染得太小。
如何以原始分辨率显示图像?
iphone - iPhone CGContextRef CGBitmapContextCreate 不支持的参数组合
在我的应用程序中,我需要调整并裁剪一些本地和在线存储的图像。我正在使用Trevor Harmon 的教程,它实现了UIImage+Resize
.
在我的 iPhone 4(iOS 4.3.1)上一切正常,我没有问题。但在我的 iPhone 3G (iOS 3.2) 上,调整大小和裁剪方法不适用于任何图片(本地存储的是 PNG)。这是控制台输出:
这是裁剪方法
调整大小的方法是这样的:
有人可以向我解释我遇到这个问题的方式吗?
谢谢你,安德烈
iphone - 首次加载时 UIImage 口吃
我有一个 UIScrollview,可以通过双击放大和缩小 PNG 图像。按照我的设置方式,我使用 UIGraphicsBeginImageContext/UIGraphicsEndImageContext 创建了几个不同尺寸的 PNG 图像,并将所有 UIImage 存储在 NSMutableArray 中。然后,我通过根据当前缩放级别将 UIImageView 的图像交换为正确的 UIImage 来在屏幕上显示正确的图像(我这样做是为了始终显示一个很好的抗锯齿图像,而不是仅缩放原始图像)。
我遇到的问题是,第一次将图像交换到以前未显示的图像时,会出现轻微的卡顿。第一次以后,我可以放大和缩小一整天,没有卡顿。我已经尝试过这里和这里建议的解决方案,但他们没有解决问题。
目前,我找到了一种解决方法,方法是在 0.01 秒后交换图像,同时取消任何挂起的交换请求。这工作正常,但它不是一个可靠的修复。显然,必须有一种方法使图像处于就绪状态,因为它们在第一次显示后就准备好了。请帮我!
iphone - (iphone) CGImageRef 是 NSObject 吗?c指针?
我想将 CGImageRef 变量传递给 performSelectorOnMainThread
用 valueWithPointer 将它包装在 NSValue 中就足够了吗?
CGImageRef 的类型是什么?
它是c指针的typedef吗?
谢谢
iphone - 如何创建空/空白 UIImage 或 CGImage 并在其上操作像素(Xcode)?
我有以下问题,只能部分解决。我正在使用 XCode 3.2.5,为 iOS 4+ 开发。
我只是尝试创建一个预定义大小的图像,在其上操作像素,然后在 UIImageView 中显示该图像。我的视图由连接到的简单按钮和名为“buttonClicked”的 IBAction 和一个名为“qrImage”并设置为“IBOutlet”的 UIImageView 组成。我使用以下代码:
头文件:myClassViewController.h
主文件 myClassViewController.m
我希望代码是完全不言自明的,如果不是这里有一个简短的描述:
A. 在 Button-Click 上,我调用 drawQRImage 方法,它会返回一个 UIImage。B. 在 drawQRImage 我打开一个 PNG 文件,直到现在它的大小为 210x210,只有一个白色背景。没有其他的。然后我操纵它上面的一些像素并“将它们涂成黑色”。当前代码应设置像素 nr。11 黑色。完成后,我返回新创建的图像。C. 然后方法 buttonClicked 将在 UIImageView 中显示此图像。
总而言之其实很简单。它也(几乎)完美地工作。但现在我想进行一些修改,但直到现在才能让它们工作:
我必须返回的图像并不总是 210x210 像素,所以我必须能够更改大小。加载“空白”PNG文件并操作它的像素是迄今为止我设法开始工作的唯一解决方法。一种更优雅的方法是创建一个具有所需大小的白色 BG 的空白图像,我可以在当前方法中使用它。不幸的是,我还没有找到关于该主题的任何内容。仅在处理现有图像上的像素时。这就是我想出当前解决方法的方式。我已经尝试过从以下链接调整大小的片段:Resizing a UIImage the right way
按钮可以点击多次,绘制的像素也会发生变化。我现在的问题是,我似乎有内存泄漏,因为我注释掉了这一行
//CGImageRelease(imageRef);
但是,如果我确实释放了 UIImageRef“imageRef”,再次单击该按钮时会出现 EXC_BAD_ACCESS-Error。所以我知道这意味着我尝试访问一个已经被释放的对象。但是我该如何解决这个问题,我不确定我是否在这里得到了一切。我认为 imageRef 将在方法“drawQRImage”的开头新创建,因此当我再次调用该方法时释放它应该不是问题。但看起来我似乎错了。
感谢您的每一点帮助!
iphone - 我可以在 UIImageView 中编辑 UIImage 的 Alpha 掩码而不必移动太多内存吗?
我想拍摄图像(画笔)并将其绘制到显示的图像中。我只想影响该图像的 alpha,稍后需要将其导出。
据我所见,大多数方向只是真正涉及一些看起来成本高昂但没有成功的操作。即,他们建议您绘制到屏幕外上下文中,创建蒙版的 CGImage,并且几乎每次应用画笔时都创建一个 CGImageWithMask。
我已经知道这很昂贵,因为即使只是这样做并绘制到上下文中对于 iPhone 来说也是相当粗糙的。
我想做的是获取 UIImageView 的 UIImage,并直接操作它的 alpha 通道。我也不是逐个像素地进行,而是使用具有自身柔软度的较大(20px 半径)笔刷。
cocoa - CGCreateImage 中忽略的解码值
我正在使用以下代码创建单色图像:
其中decodeValues
是 2 的数组CGFloat
,等于{0,1}
。这给了我一个很好的图像,但显然我的数据(来自 PDF 图像掩码)是黑白而不是黑白的。为了反转图像,我尝试将值设置decodeValues
为{1,0}
,但这根本没有改变任何东西。实际上,无论我输入什么无意义的值decodeValues
,我都会得到相同的图像。
为什么decodeValues
在这里被忽略?如何反转黑白?