问题标签 [cgcontextref]
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 - 如何使用 Core Graphics(用于手指绘画)创建浮雕或阴影效果
我有问题在我的绘图中实现“浮雕/阴影效果”。手指绘画功能目前在我的自定义下运行良好UIView
,下面是我的drawRect
方法代码:
使用所有方法编辑代码:
当我实现这个时,我得到了 dot dot dot 的绘画效果......
见下图(没有任何阴影或浮雕效果)。如果您对如何添加这些效果有任何想法,请给我一些建议。我该如何解决这个问题?
ios - 在 ViewController 外部调用 draw 方法
我正在尝试在外部类中设置一个方法,如下所示:
我的班级.m
视图控制器.m
该项目构建并运行,但我在日志中收到以下错误,但未绘制任何内容:
我一直在网上搜索类似的问题/示例,但没有运气。是否需要不同的/附加参数?我应该从其他地方调用 draw 方法viewDidLoad
吗?非常感谢您的建议!
ios - 需要澄清在 iOS 中使用视图
好的,我正在通过斯坦福大学在 iTunes U (CS193P) 上的在线课程学习 iOS 编程,但我无法完全掌握 UIView 的所有内容是如何工作的。
有人可以解释以下事物如何紧密结合以及我应该如何使用它们吗?
CGContextRef CGContext(如果它们不是同一个东西)drawRect awakeFromNib
提前致谢!
objective-c - 在 UIImage 中按顺序移动方块
我是 Objective-C 的新手,但我需要编写一个快速方法,它将 UIImage 分成固定大小的正方形块,然后将它们混合。我已经通过以下方式实现了它:
- 获取 UIImage
- 将其表示为 PNG
- 将其转换为 RGBA8 无符号字符数组
- 对于每个块,计算它的坐标,然后将每个像素与被替换的块中的像素进行异或
- 将 RGBA8 肉组装回新的 UIImage
- 把它返还
它按预期工作,但速度极慢。在 iPhone 4S 上处理单个 1024x768 PNG 大约需要 12 秒。Inspector 显示方法以某种方式与 PNGRepresentation 相关联,占用了大约 50% 的总运行时间。
如果我在这里以某种方式使用 Quartz2D,它可能会更快吗?我现在只是试图从我的_image 复制/粘贴一个矩形,但我不知道如何更进一步。它返回一个 UIImage 并按原样提供 _image ,其中没有粘贴 blockLayer:
ios - Iphone Pixel RGBA值编辑
我的目标如下。
当玩家触摸屏幕时,程序应该找出触摸位置的像素值,然后循环遍历每个像素,任何具有完全相同 RGBA 值的像素都将被编辑,此时我只想设置alpha 为 0 以使它们全部不可见。
到目前为止,我已经设法检索信息,找出哪些对应于触摸的像素,但是当我设置像素并从新数据创建 UIImage 并设置它时。没有什么变化。
一点帮助将不胜感激。
代码如下
功能
(UIImage*)getRGBAsFromImage:(UIImage*)image atX:(int)xx andY:(int)yy
它是这样称呼的
objective-c - 在objective-c中澄清图像属性
我正在尝试为我在 Objective-c 中编写的类创建随机生成的图像,并且只是希望对不同的图像属性和类型有所了解。我想创建以下功能:
-(UIImage*)randomlyGenerateAnImage;
该函数将使用成员数据创建一个准随机算法生成的 UIImage。
我真的很难理解 UIImages、CGRects 和 CGContextRefs 之间的关系。哪个是我绘制的,我分配给 UIImage 什么。
编辑 我正在尝试动态生成我的图像,例如:
UIImage * newImage = [[UIImage alloc] "initBlankImageWithSize(X, Y)"];
CGContextRef * newContext = "getContextFromImage(newImage)";
"在 newContext 上绘制......";
返回新图像;
iphone - 如何将CGContextAddArc(CGContextRef)中的所有点存储到NSMUtableArray
如何将 CGContextAddArc 中的所有像素点存储到 NSMutableArray.or CGContextRef 到 NSMutable Array
图片
macos - CTRunDraw() 确实实现了正确的行为
我正在使用 CoreText 在 MAC OS X 上实现自定义文本布局算法。我必须在自定义 NSView 子类对象内的不同位置部分呈现 CTRun 的一部分。
这是我对drawRect的实现:方法
}
这是此代码的输出 https://docs.google.com/open?id=0B8df1OdxKw4FYkE5Z1d1VUZQYWs
问题是 CTRunDraw() 方法在指定范围以外的位置插入空格。
我想要的是它应该将运行的部分渲染在正确的位置。这是我想要的正确输出。(正确的输出是原始输出的photoshop)。 https://docs.google.com/open?id=0B8df1OdxKw4FcFRnS0p1cFBfa28
注意:我在自定义 NSView 子类中使用翻转坐标系。
}
ios - 在 iOS 上,是否需要执行 CGContextRelease?
因为如果运行 Instruments 并选择了活动监视器,则在 iPhone 4S 上运行的应用程序在释放上下文时使用 4.88MB,如果未释放上下文,也是 4.88MB 。那么这是否意味着释放上下文是可选的?(我认为实际上是必需的)。上下文由CGContextRef
变量引用。(正在使用 ARC)。
上下文是CGBitmapContext
为 Retina 显示器创建的,因此大约为 640 x 640,并且有 4 个这样的上下文,它们都是在 中创建的viewDidAppear
,我认为如果 1 个像素是 4 个字节,那么每个上下文已经是 1.6MB。难道viewDidAppear
是做完之后,上下文就自动释放了?基本上,我CGImage
从这些位图上下文生成对象并将 CGImage 对象设置为由对象指向CALayer
(使用layer.contents = (__bridge id) cgImage;
),因此不再需要位图上下文。它使用 Xcode 4.3 和 ARC 编译,面向 iOS 4.3。(但我认为CGContextRef
不是 ARC 的一部分)。
更新:更正:它应该是“从那些 CGBitmapContext 生成 CGImage 对象,并将那些 CGImage 对象设置为 CALayer”(编辑原始问题以反映这一点)。
objective-c - iOS:更改自我的内容(UIImage)
我在 UIImage 类别中编写了一些代码,该类别采用 UIImage (self),然后使用 CGContextRef 重新绘制它。有没有办法在使用 CGBitmapContext 时重写 UIImage (self)?目前,我让它返回通过 CGContextRef 创建的图像,但是否可以在该方法中重写图像本身?