问题标签 [cgcontextdrawimage]
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.
ios - 创建可伸缩路径 CGContextPath
我是 iOS 开发新手。
使用 Core Graphics/UIKit 绘制时出现问题。我想在 Window 中实现类似绘制形状的功能。
我使用这个来源:https ://github.com/JagCesar/Simple-Paint-App-iOS ,并添加新功能。
当 touchesMoved 时,我根据 touchesBegan 时的点和当前的触摸点绘制一个形状。它绘制了所有的形状。
我的意思是,我只想创建一个形状,当touchesBegan时,应用程序记录点,当touchesMoved时,形状被触摸缩放,当touchesEnd时,将形状绘制到ImageContex
希望你能给我一些建议。谢谢你。
ios - iOS 在大 UIView 上绘制多个小图像的最佳方法
我有一个非常非常大UIView
的CATiledLayer
.
我需要在上面渲染很多小图像。
这些小图像存储在一张大图像 (1024x1024) 中。它们可能具有透明度。
目前,我CGImageCreateWithImageInRect
在大图像上使用CGImageRef
为我需要的每个小图像创建 s。
后来,在 内drawRect
,我根据需要调用CGContextDrawImage(context, rect, smallImage);
以显示这些小图像中的每一个。
然而,根据 Instruments 的 Time Profiler,在CGContextDrawImage
(274ms) 处存在非常大的瓶颈,我希望尽我所能减少它(不使用 OpenGL)。
我的问题是:如何?是否有CGContextDrawImage
不需要缩放的替代方案?是否使用CGImageCreateWithImageInRect
正确的方法来解决它?
ios - CGContextDrawImage -> ImageIO_Malloc 泄漏
我花了很多时间试图弄清楚为什么我的应用程序中出现 ImageIO 泄漏......如果有人可以帮助我解决这个问题,我将不胜感激!
我有一个 UIPageViewController,其中包含许多带有 2048x1536 图像的 UIViewController。我将 UIImage 直接设置为 view.layer.contents 为最佳。当用户在图像之间滑动时,我将它们懒惰地加载到 bg 线程上,然后缓存它们。我有一个最大的缓存大小,所以在某些时候,当用户继续滑动时,应用程序开始卸载和重新加载图像。一切正常,但如果我开始快速滑动 2 或 3 个周期,我最终会在调用 CGContextDrawImage 时在 ImageIO 内发生内存泄漏。泄漏仪器内部不报告泄漏。我真的不明白为什么会这样。这是我的代码:
...
{ __weak NSOperation* weakRunningOp = [self getRunningOperationWithImagePath:imageFile];
}
这是我的仪器屏幕截图,在某些时候,VM : ImageIO_PNG_Data 以 12mo 分配出现并且永远不会消失。
ios - CGContextDrawImage 扭曲比例
我有一个裁剪图像(mainImage),允许用户在使用手指的基础上进行绘制。屏幕 A. 上的红色锯齿形显示手指绘制的部分。现在,使用下面的代码,新绘制的图像上下文(红色锯齿形)被推入与裁剪图像相同的边界,我最终得到一个扭曲的锯齿形(屏幕截图 B.)。您可以看到红色锯齿形是如何被推入裁剪的边界(mainImage)的。
我想要实现的是一个图像,它结合了 mainImage 和 drawImage 的两个上下文,而不会扭曲任何一张照片的比例。因此,只有与 mainImage 重叠的红色之字形部分将在新的上下文中绘制,如屏幕截图 C 所示。(我想要的结果的 photoshopped 图像)。现在,commitDrawingWithOpacity: 方法的结果是屏幕截图 B。我想要屏幕截图 C 的结果。
我已经尝试过 CGContextClipToRect、CGContextClipToMask,还尝试为绘图图像创建一个新的矩形,但到目前为止还没有成功。我已经在这个问题上困扰了将近一个月(自学),这是我在将我的应用程序提交给苹果之前需要做的最后一件事。因此,我们将不胜感激任何帮助。这是我正在使用的代码的链接https://github.com/dblapps/DAScratchPad
这是每个的大小:
drawImage.size = (width=320, height=568) // iPhone 5 屏幕尺寸
mainImage.size = (width=260, height=800) // 裁剪图像的大小
我的 imageView 设置为宽高比。
使用函数 AVMakeRectWithAspectRatioInsideRect 我已经能够为我的 mainImage 获得正确的大小比,但仍然没有让任何事情正常工作。
下面是我试图达到的结果的 Photoshop 截图。屏幕截图 B(上图)是我目前的代码所得到的。
ios - 无法绘制图像。
我有一个UIImageView
,UIViewController
想在现有的 imageView 上添加一个简单的图像。
viewDidLoad 方法如下所示:
我收到的部分错误消息如下所示:
CGContextSetBlendMode: invalid context 0x0. This is a serious error
.
我测试了重置我的iOS模拟器(其他线程中的解决方案),但这并没有解决问题。
ios - 如何旋转 UIImage 但不切割边缘 IOS
帮助,我是 ios 编程新手,我想旋转 UIImage,但我不希望边缘被切割或松开图像的某些部分。
这是我的代码:
图像正在旋转,但框架的大小没有改变,因为某些图像已被剪切。
请帮帮我谢谢。
ios - 使用 CGContextDrawImage 块中的图像位置错误
我跟着本教程使用 Core Text 绘制文本,我想将 web 图像添加到视图中。当我使用下面的代码时,除了等待下载时间外,一切正常。
但是这段代码阻塞了主线程,当我像这样替换代码时:
它变成有线的,图像的位置是错误的。
ios - CGContextDrawImage 混合
我正在使用CGContextDrawImage
Objective C中的方法绘制,或者我应该说“冲压”图像。图像被绘制到由触摸运动确定的点。基本上,我正在对图像进行标记以创建“画笔”效果。看起来像这样:
我对结果很满意,但是当触摸时间变慢时,图像会被绘制在其自身之上并破坏我想要的 alpha 值。是否有一种混合技术,其中图像的不透明度不会相互叠加?或者我应该只考虑改变我的观点,以便在运动减慢时它们不会那么靠近?
提前致谢。
ios - 在 UISegmentControl ios 中居中图像和垂直?
所以我试图将图像和文本都插入到UISegmentControl
. 现在,segmentControl
我希望将图像放在顶部,将文本放在底部。所以我使用 UIImage 上的一个类别将标题放在它上面,如下所示。但是我的图像和经过大量的努力,文本仍然放错了位置。有没有人正确地这样做过?任何帮助表示赞赏。
image-processing - iOS 8.1 崩溃(EXC_BAD_ACCESS):: ImageIO: CGImageReadGetBytesAtOffset : *** 错误 *** CGImageSource 是用数据大小创建的:
感谢任何帮助修复我的 iOS 应用程序中的崩溃 (EXC_BAD_ACCESS)。自从使用最新的可用 iOS 8.1.2 将我的应用程序更新到 iOS 8 后,我看到了这一点。相同的代码在 iOS 7.x 中运行良好。
我的应用程序中的一个视图是UICollectionView
. 集合视图的每个单元格都显示一个图像,该图像是动态呈现的,并且每隔几分钟就会随着新内容的出现而变化。
单元格的左上角还显示集合视图的该单元格的文本标签/标题。为了确保文本标签可以根据单元格图像的颜色读取,我有一些代码(见下文)来确定单元格左上角的图像颜色。基于该颜色,我使用白色或黑色作为单元格的文本标签/标题(显示在单元格中的图像顶部)。
下面是代码片段。我经常在以下代码行中遇到崩溃 EXC_BAD_ACCESS 崩溃:
CGContextDrawImage(context, CGRectMake(0, 0, 1, 1), imageRef);
Xcode 中显示的错误日志...
: ImageIO: CGImageReadGetBytesAtOffset : * 错误 * CGImageSource 是使用数据大小创建的:684918 - 当前大小仅为:526399
: ImageIO: CGImageReadGetBytesAtOffset : * 错误 * CGImageSource 是使用数据大小创建的:203207 - 当前大小仅为:199641
代码如下,感谢您解决此问题的任何帮助,谢谢。