- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有时 CGContextDrawImage 会导致执行以下代码时出现“访问错误”我们无法找到原因。有没有人在使用“CGContextDrawImage”时遇到过同样的错误?
let bytesPerPixel = 4;
let bytesPerRow:UInt = UInt(bytesPerPixel) * UInt(CG_Width)
let bitsPerComponent:UInt = 8;
let bitmapInfo = CGBitmapInfo(CGImageAlphaInfo.PremultipliedLast.rawValue)
var pixel = UnsafeMutablePointer<CUnsignedChar>.alloc(4)
let context = CGBitmapContextCreate(pixel,
UInt(CG_Width), UInt(CG_Width), bitsPerComponent, bytesPerRow, colorSpace, bitmapInfo)
let cgRect:CGRect = CGRectMake (0,0,CGFloat(CG_Width),CGFloat(CG_Width)) as CGRect
CGContextDrawImage(context, cgRect, imageRef)
最佳答案
当您创建像素缓冲区时,您只分配了 4 个字节,这对于 1x1 位图来说足够了。据推测,CG_Width(CG_Height 在哪里使用?)不是 1,所以当您对 CGBitmapContextCreate
撒谎以了解缓冲区的大小,然后将其绘制到其中时,您将在随机内存中乱涂乱画。将缓冲区分配更改为:
var pixel = UnsafeMutablePointer<CUnsignedChar>.alloc(bytesPerRow * CG_Height)
然后更改上下文创建以使用正确的高度:
let context = CGBitmapContextCreate(pixel,
UInt(CG_Width), UInt(CG_Height), bitsPerComponent, bytesPerRow, colorSpace, bitmapInfo)
如果您实际上是有意创建方形位图,请将我的 CG_Height
更改为 CG_Width
关于ios - CGContextDrawImage 和 swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28432736/
我已经尝试混合两个 UIImage 大约 2 天了,但我收到了一些 BAD_ACCESS 错误。首先,我有两个具有相同方向的图像,基本上我使用 CoreGraphics 进行混合。 一个奇怪的细节,每
我使用时序分析工具确定 95% 的时间都花在调用函数 CGContextDrawImage 上。 在我的应用程序中,有很多重复的图像被重复地从 Sprite map 中截取并绘制到屏幕上。我想知道是否
我正在使用 PhotoScrollerNetwork project为我的项目中的 View 提供单个高分辨率图像并自动平铺它,以便正确管理内存。它使用此代码块将完整的高分辨率图像绘制到内存中,以便可
我正在尝试使用 AVCaptureSession 获取图像。我遵循了本教程 http://www.benjaminloulier.com/posts/2-ios4-and-direct-access-
我正在尝试从 CGImage 创建 CVPixelBufferRef 所以这里是方法: - (CVPixelBufferRef) pixelBufferFromCGImage: (CGImageRef
由于 CGContextDrawImage 可能非常昂贵,因此我在检查像素数据时尽量减少提供给它的数据量。如果我有两个图像和它们交集的 CGRect,我能否让 CGContextDrawImage 仅
我正在尝试比较两个图像(实际上是在较大的图像中找到较小的“子图像”),并且我正在使用下面提供的方法加载图像。 下面的代码现在包含一个测试 for 循环,它总结了所有单独的字节值。我发现这个总和和因此字
我正在尝试制作一个可以使用 CGContextDrawImage(…) 绘制大型(比如 2048 x 1537)图像的一部分的对象。它工作得很好,除了它非常模糊。我正在使用覆盖 drawLayer:i
我有一个自定义 View ,它使用以下方法绘制 CGImage: - (void) drawImage { CGContextRef context = (CGContextRef)[[NSG
我正在使用 Cocoa 和 Xcode4 在 Mac OS X 10.6 上开发 Mac 应用程序,从相机缓冲区获取图像后,我需要获取图像的原始数据。这是代码: - (void)captureOutp
对 GCContextDrawImage 的调用最终成为我的 Mac OS X 应用程序的瓶颈,尤其是在视网膜屏幕上。我设法通过 Avoiding colorspace transformations
在运行了以下代码块之后,我得到了 CGContextDrawImage 的无效上下文 0x0。此代码位于 UIViewController 中的用户定义方法中。我本质上是通过使用 AVFoundati
为什么图像旋转,通过调用CGContextDrawImage。感谢您的帮助。 // Initialization code UIImage *img = [UIImage imageNamed:@"l
有时 CGContextDrawImage 会导致执行以下代码时出现“访问错误”我们无法找到原因。有没有人在使用“CGContextDrawImage”时遇到过同样的错误? let bytes
我使用这段代码缩放和旋转用照相机拍摄的图像。当我使用它时,我可以看到一个巨大的内存峰值。大约 20 MB。当我使用仪器时,我可以看到这一行: CGContextDrawImage(ctxt, orig
我正在尝试编写一个 iPhone 应用程序,它采用 PNG tilesets 并在屏幕上显示它们的片段,并且我试图让它以 20fps 的速度刷新整个屏幕。目前我在模拟器上管理大约 3 或 4fps,在
我目前在 OSX 上使用 CoreGraphics 进行了大量工作。 我对我的代码运行了 Time Profiler,发现最大的问题在于 CGContextDrawImage。它是每秒被调用多次的循环
如何在中心旋转由 CGContextDrawImage() 绘制的图像? 在drawRect: CGContextSaveGState(c); rect = CGRectOffset(rect, -r
我想轻松地将 UIImage 混合到另一个背景图像之上,因此为 UIImage 编写了一个类别方法,改编自 blend two uiimages based on alpha/transparency
我试图制作一个可调整大小的图像,但无法弄清楚这一点。 当我使用 UIImage *bgImage = [[UIImage imageNamed:@"logout-bg"] resizableImage
我是一名优秀的程序员,十分优秀!