Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 抗锯齿图像看起来模糊或锯齿状_Iphone_Ios_Image_Uiimageview_Uiimage - Fatal编程技术网

Iphone 抗锯齿图像看起来模糊或锯齿状

Iphone 抗锯齿图像看起来模糊或锯齿状,iphone,ios,image,uiimageview,uiimage,Iphone,Ios,Image,Uiimageview,Uiimage,我想在一个圆圈里画12幅代表手表号码的图像,我已经阅读了stackoverflow上关于透明边框图像的所有主题,但在我的例子中它不起作用 -(UIImage*)添加图像编号(UIImage*)img{ int w=img.size.width; int h=img.size.height; CGColorSpaceRef colorSpace=CGColorSpaceCreateDeviceRGB(); CGContextRef context=CGBitmapContextCreate(NUL

我想在一个圆圈里画12幅代表手表号码的图像,我已经阅读了stackoverflow上关于透明边框图像的所有主题,但在我的例子中它不起作用

-(UIImage*)添加图像编号(UIImage*)img{
int w=img.size.width;
int h=img.size.height;
CGColorSpaceRef colorSpace=CGColorSpaceCreateDeviceRGB();
CGContextRef context=CGBitmapContextCreate(NULL,w,h,8,4*w,colorSpace,KCGIMAGEAlphaPremultipledFirst);
CGContextDrawImage(上下文,CGRectMake(0,0,w,h),img.CGImage);
CGContextSetRGBFillColor(上下文,0.0,0.0,1.0,1);
CGContextSetShouldAntialias(上下文,是);
CGContextSetAllowsAntialiasing(上下文,是);
CG仿射变换;
对于(int x=0;xtry


永远不要说
UIGraphicsBeginImageContext(imageRect.size)
。说
UIGraphicsBeginImageContextWithOptions(imageRect.size,NO,0)
。这样,在双分辨率屏幕上,您将获得双分辨率图形上下文

您甚至可以尝试使用分辨率值4来进一步提高分辨率

当然,事实上,你从预先绘制的“2”图像开始可能会限制你的分辨率;你不能用母猪的耳朵做一个丝绸钱包。你最好从头开始将“2”画成一条线。

Swift 3:


抗锯齿不应该是UIImageView的问题,因为默认情况下,它们是抗锯齿的,而UIView通常显示为锯齿状。我认为这可能是另一个问题。您是否大幅缩小了正在使用的图像?没有任何图像被缩小,它们都具有原始大小。从技术上讲,您得到的质量是最好的可能的。当你创建原始图像时,会使用最佳的抗锯齿。当你旋转它时,它不再是最佳的。每次变换都会失去质量。最好使用文本绘制功能来创建时钟。这是最初的方法,但它更模糊,所以我决定按图像的方式,图像总是这样比实际文本更模糊。@Codo是对的。如果你只是因为第一次尝试文本无效而使用图像,请再试一次。我用字符串而不是图像附加了一个图像,但抗锯齿仍然不起作用,但你没有按照我说的以更高分辨率绘制,是吗?所以你没有响应我说的。在你拒绝之前,先试试我说的。
CGContextSetInterpolationQuality(context, kCGInterpolationHigh);
context!.interpolationQuality = .high