- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用这种方法来压缩UIImage
if (actualHeight > maxHeight || actualWidth > maxWidth)
{
if(imgRatio < maxRatio)
{
//adjust width according to maxHeight
imgRatio = maxHeight / actualHeight;
actualWidth = imgRatio * actualWidth;
actualHeight = maxHeight;
}
else if(imgRatio > maxRatio)
{
//adjust height according to maxWidth
imgRatio = maxWidth / actualWidth;
actualHeight = imgRatio * actualHeight;
actualWidth = maxWidth;
}
else
{
actualHeight = maxHeight;
actualWidth = maxWidth;
}
}
CGRect rect = CGRectMake(0.0, 0.0, actualWidth, actualHeight);
UIGraphicsBeginImageContext(rect.size);
[image drawInRect:rect];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
NSData *imageData = UIImageJPEGRepresentation(img, compressionQuality);
UIGraphicsEndImageContext();
UIImage
,在它们的底部,有一条1像素的白线。
关于可能的原因有什么建议吗?
最佳答案
问题可能是您正在使用CGFloats,并且要对它们进行乘/除,这将导致非整数坐标。
线
actualWidth = imgRatio * actualWidth;
actualHeight = imgRatio * actualHeight;
ceilf
或
floorf
或
roundf
对此进行纠正。例如。
actualWidth = ceilf(imgRatio * actualWidth);
actualHeight = ceilf(imgRatio * actualHeight);
CGRect rect = CGRectMake(0.0, 0.0, actualWidth, actualHeight);
(0,0,24.33, 24.33)
您实际上可能正在绘制此大小的矩形,但是图像必须具有
关于ios - UIGraphicsBeginImageContext drawInRect不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36953835/
我正在我的应用程序中截取屏幕截图。我可以截图。 现在我想通过指定 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 保存为高质量图像以及如何在选择单元格时
我是一名优秀的程序员,十分优秀!