问题标签 [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.

0 投票
3 回答
1010 浏览

iphone - 如何使用 Core Graphics(用于手指绘画)创建浮雕或阴影效果

我有问题在我的绘图中实现“浮雕/阴影效果”。手指绘画功能目前在我的自定义下运行良好UIView,下面是我的drawRect方法代码:

使用所有方法编辑代码:

当我实现这个时,我得到了 dot dot dot 的绘画效果......

见下图(没有任何阴影或浮雕效果)。如果您对如何添加这些效果有任何想法,请给我一些建议。我该如何解决这个问题?

在此处输入图像描述

0 投票
1 回答
406 浏览

ios - 在 ViewController 外部调用 draw 方法

我正在尝试在外部类中设置一个方法,如下所示:

我的班级.m

视图控制器.m

该项目构建并运行,但我在日志中收到以下错误,但未绘制任何内容:

我一直在网上搜索类似的问题/示例,但没有运气。是否需要不同的/附加参数?我应该从其他地方调用 draw 方法viewDidLoad吗?非常感谢您的建议!

0 投票
1 回答
72 浏览

ios - 需要澄清在 iOS 中使用视图

好的,我正在通过斯坦福大学在 iTunes U (CS193P) 上的在线课程学习 iOS 编程,但我无法完全掌握 UIView 的所有内容是如何工作的。

有人可以解释以下事物如何紧密结合以及我应该如何使用它们吗?

CGContextRef CGContext(如果它们不是同一个东西)drawRect awakeFromNib

提前致谢!

0 投票
1 回答
261 浏览

objective-c - 在 UIImage 中按顺序移动方块

我是 Objective-C 的新手,但我需要编写一个快速方法,它将 UIImage 分成固定大小的正方形块,然后将它们混合。我已经通过以下方式实现了它:

  1. 获取 UIImage
  2. 将其表示为 PNG
  3. 将其转换为 RGBA8 无符号字符数组
  4. 对于每个块,计算它的坐标,然后将每个像素与被替换的块中的像素进行异或
  5. 将 RGBA8 肉组装回新的 UIImage
  6. 把它返还

它按预期工作,但速度极慢。在 iPhone 4S 上处理单个 1024x768 PNG 大约需要 12 秒。Inspector 显示方法以某种方式与 PNGRepresentation 相关联,占用了大约 50% 的总运行时间。

如果我在这里以某种方式使用 Quartz2D,它可能会更快吗?我现在只是试图从我的_image 复制/粘贴一个矩形,但我不知道如何更进一步。它返回一个 UIImage 并按原样提供 _image ,其中没有粘贴 blockLayer:

0 投票
2 回答
682 浏览

ios - Iphone Pixel RGBA值编辑

我的目标如下。

当玩家触摸屏幕时,程序应该找出触摸位置的像素值,然后循环遍历每个像素,任何具有完全相同 RGBA 值的像素都将被编辑,此时我只想设置alpha 为 0 以使它们全部不可见。

到目前为止,我已经设法检索信息,找出哪些对应于触摸的像素,但是当我设置像素并从新数据创建 UIImage 并设置它时。没有什么变化。

一点帮助将不胜感激。

代码如下

功能

(UIImage*)getRGBAsFromImage:(UIImage*)image atX:(int)xx andY:(int)yy

它是这样称呼的

0 投票
2 回答
358 浏览

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 上绘制......";

返回新图像;

0 投票
2 回答
1091 浏览

iphone - 如何将CGContextAddArc(CGContextRef)中的所有点存储到NSMUtableArray

如何将 CGContextAddArc 中的所有像素点存储到 NSMutableArray.or CGContextRef 到 NSMutable Array

图片在此处输入图像描述

0 投票
1 回答
377 浏览

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 子类中使用翻转坐标系。

}

0 投票
1 回答
1671 浏览

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”(编辑原始问题以反映这一点)。

0 投票
1 回答
468 浏览

objective-c - iOS:更改自我的内容(UIImage)

我在 UIImage 类别中编写了一些代码,该类别采用 UIImage (self),然后使用 CGContextRef 重新绘制它。有没有办法在使用 CGBitmapContext 时重写 UIImage (self)?目前,我让它返回通过 CGContextRef 创建的图像,但是否可以在该方法中重写图像本身?