如何在某个方向上移动uiimage的内容

时间:2015-08-09 05:19:27

标签: ios uiimage cgcontext

我使用UIBezierPath裁剪尺寸为1920 * 1080的图像的一部分,丢弃1/3(左起)。我希望左侧2/3向左移动左右对齐图像的左侧,我试过:

-(UIImage*)leftAlignmentLeftTrapezoided:(UIImage*) image{
    // extract each half as a CGImage
    CGImageRef imageRight = CGImageCreateWithImageInRect([image CGImage],CGRectMake(self.size.width/3, 0, self.size.width,self.size.height));
    UIGraphicsBeginImageContextWithOptions(CGSizeMake(self.size.width/3,self.size.height),NO, 0);
    CGContextRef con = UIGraphicsGetCurrentContext();
    CGContextDrawImage(con,CGRectMake(0,0,self.size.width*2/3.0,self.size.height), imageRight);
    UIImage* im = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return im;
    /*

     */
};

根据http://www.apeth.com/iOSBook/ch15.html,但它不起作用

1 个答案:

答案 0 :(得分:0)

如果你想集中它:

让我们用连字符

做个例子

6 ------

6 - (1/3)* 6 = 6 - 2 = 4

4 ----

让我们尝试对齐它们:

首先::::::: ------

第二个:::: x ---- x

单词如果您剪切某个片段的某个部分(让它称之为x)并仍然希望它位于某个斧头的中心,则必须剪切x / 2来自你们两个部分的片段

在您的情况下,如果您希望它居中,只需将其从左侧宽度(1920)的1/6移动

如果你想让它在左边:

首先将图像放在您想要的位置左侧1/3处。

希望它有所帮助 (抱歉英语不好)