- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有代码可以让我在 UIImageView 上绘图 - 但我希望能够限制绘图区域。
我已经能够限制大小,但现在我无法定位它:如果我将 (0, 0) 更改为任何其他值,我的图像将完全消失并且绘图功能将停止工作
drawImage - 是一个 UIImageView
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
mouseSwiped = YES;
UITouch *touch = [touches anyObject];
currentPoint = [touch locationInView:self];
UIGraphicsBeginImageContext(CGSizeMake(560, 660));
[drawImage.image drawInRect:CGRectMake(0, 0, 560, 660)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 5.0);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 0, 1, 0, 1);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
[drawImage setFrame:CGRectMake(0, 0, 560, 660)];
drawImage.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
lastPoint = currentPoint;
[self addSubview:drawImage];
}
非常感谢任何帮助
最佳答案
我不确定我是否完全理解您要尝试做的事情,但我会考虑一下:
[drawImage.image drawInRect:CGRectMake(0, 0, 560, 660)];
这会告诉分配给 drawImage
的图像在当前上下文中的 0,0
处绘制自己。由于上下文是位图图像上下文,因此其范围将从 0,0
到 560,660
。在我看来,这可能就是你想要做的,否则你的位图中会有空白区域。如果您要将 0,0
更改为 10,0
,我希望在生成的位图中有一个 10pt 宽的空白区域(这似乎是一种浪费) .
然后你这样做:
[drawImage setFrame:CGRectMake(0, 0, 560, 660)];
这是在其父 View 的坐标系中设置 UIImageView 的坐标。如果您将 that 0,0
更改为 5,5
我希望您的 UIImageView 显示为向下 5pt 和向右 5pt它的 super View 。
你说你想“限制绘图区域”。我假设你的意思是你在图像上绘制的部分。最简单的方法是在绘制之前在位图上下文中设置一个剪辑矩形。例如,如果您想防止在图像边缘周围绘制 10pt 带,您可以这样做:
UIGraphicsBeginImageContext(CGSizeMake(560, 660));
[drawImage.image drawInRect:CGRectMake(0, 0, 560, 660)];
CGContextClipToRect(UIGraphicsGetCurrentContext(), CGRectMake(10,10,540,640));
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
// ... and so on
不能 100% 确定这是否是您要查找的内容,但希望对您有所帮助。
关于iOS : Repositioning UIGraphicsBeginImageContext and UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17967286/
我正在我的应用程序中截取屏幕截图。我可以截图。 现在我想通过指定 x 和 y 坐标来截取屏幕截图。这可能吗? UIGraphicsBeginImageContext( self.view.bounds
我正在使用这种方法来压缩UIImage if (actualHeight > maxHeight || actualWidth > maxWidth) { if(imgRati
所以我一直认为 UIGraphicsBeginImageContext 是线程安全的,可以从任何线程调用以创建可用于绘制的新 CGContextRef。 但是,当前documentation指出 “您
我现在正在为 Mac OSX 创建一个 iOS 应用程序。我有下面的代码将图像转换为 1024 的大小,并根据图像的纵横比计算出宽度。这适用于 iOS,但显然不适用于 OSX。我不确定如何创建 NSI
我正在尝试附加从 UIGraphicsBeginImageContext 渲染的图像。作为测试,我也将图像添加到相册中。这一切在模拟器上都能完美运行,但在设备上,正确的图像会添加到相册中,但不会正确显
我想经常在我的 View 中画线,但它不起作用。我不想使用drawRect,因为我还必须维护之前绘制的线的状态。下面是画线的代码。请指导。 - (void)drawPathWithPoints:(in
所以我一直认为 UIGraphicsBeginImageContext 是线程安全的,可以从任何线程调用以创建可用于绘制的新 CGContextRef。 但是,当前documentation指出 “您
我想在图像中捕获当前屏幕。我这样做: UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, self.view.isOpaque,
我正在尝试生成图像,并在 Apple 文档中发现 UIGraphicsBeginImageContext() 看起来很完美。我一直在看一些 Quartz 教程,在每个教程中,他们都使用自定义 View
我有代码可以让我在 UIImageView 上绘图 - 但我希望能够限制绘图区域。 我已经能够限制大小,但现在我无法定位它:如果我将 (0, 0) 更改为任何其他值,我的图像将完全消失并且绘图功能将停
我尝试一次对超过 100 个 UIimage 进行图像裁剪和羽化。但是在iPhone6上运行时总是会出现内存问题。 Memory Leak checking by Instrucment 这是代码。我
我有一个简单的函数来创建一个特殊尺寸的 UIImage : - (UIImage*)imageWithSize:(CGSize) imSize { UIGraphicsBeginImageCo
我正在尝试在后台线程中更改图像的颜色。 Apple 文档说 UIGraphicsBeginImageContext 只能从主线程调用,我正在尝试使用 CGBitmapContextCreate: co
我在执行下面的代码时遇到了这些错误: [Switching to process 74682 thread 0x2003] [Switching to process 74682 thread 0x2
我正在用 UIGraphicsImageRendererFormat 替换 UIGraphicsBeginImageContext 以优化性能并使我的代码现代化。出于某种原因,UIGraphicsIm
在我的代码中,我将图像的大小拉伸(stretch)到指定的大小。到目前为止,代码工作正常。我遇到的问题是“UIGraphicsBeginImageContext ()”没有释放新图像的内存。因此,大约
我读过一些推荐使用的帖子: UIGraphicsBeginImageContextWithOptions((image.size), NO, 0.0f) 代替: UIGraphicsBeginImag
我是 iOS API 这些部分的新手,这里有一些问题在我脑海中造成无限循环 为什么 ..BeginImageContext 有大小而 ..GetCurrentContext 没有大小?如果 ..Get
我想在 UIImage 上画一些线。我能够将线条绘制到上下文中,最后我在使用以下代码从上下文中获取图像之前绘制背景图像: UIGraphicsBeginImageContext(self.bounds
我正在使用 UIGraphicsBeginImageContext 捕获屏幕,但图像质量不佳。任何人都可以帮助我如何将 UICollectionViewCell 保存为高质量图像以及如何在选择单元格时
我是一名优秀的程序员,十分优秀!