我想在影像中疊加一個矩形。下面的代碼目前有效,但它回傳一個帶有細框的矩形。我不能改變矩形框的寬度。回傳具有較厚邊框的自定義矩形的一種方法是使用 UIView,但無法將 SubView 添加到 UIImage。有什么解決辦法嗎?謝謝你。
-(UIImage *)drawRectangleOnImage:(UIImage *)img rect:(CGRect)rect{
CGSize imgSize = img.size;
CGFloat scale = 0;
UIGraphicsBeginImageContextWithOptions(imgSize, NO, scale);
[img drawAtPoint:CGPointZero];
[[UIColor redColor] setStroke];
UIRectFrame(rect);
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
uj5u.com熱心網友回復:
UIRectFrame在指定矩形的內部繪制一個框架。如果要填充該區域,可以使用UIRectFill。
要更改筆觸和/或填充顏色,您可以呼叫-setStroke或-setFillon UIColor。例如:
[[UIColor red] setFill];
UIRectFill(rect);
設定描邊線寬,需要在當前CGContext上設定線寬:
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context, 10);
編輯:還有一種更簡單的方法: NSFrameRectWithWidth 允許您直接指定寬度,而不是在背景關系中設定線寬。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/449307.html
