我有一个方形位图(200 * 200)。此位图具有背景颜色(黄色)和中心的字母(想象为A)。 从该位图我想创建一个带黑色边框的圆角位图。这个边框是4个像素,所以我假装的最终图像是一个220 * 220的位图,其圆心半径为100,边界为4.如果我看这个位图,我会看到一个圆形的圆圈中央有黑色边框,两侧有一些透明像素(16)。
我这样做:
- (void) viewDidLoad {
[self.textView addObserver:self forKeyPath:@"contentSize" options:(NSKeyValueObservingOptionNew) context:NULL];
[super viewDidLoad];
}
- (void)observeValueForKeyPath:(NSString *)iKeyPath ofObject:(id)iObject change:(NSDictionary *)iChange context:(void *)iContext {
UITextView *myTextView = (UITextView *)iObject;
CGFloat topCorrect = (myTextView.bounds.size.height - [myTextView contentSize].height * [myTextView zoomScale]) / 2.0;
topCorrect = (topCorrect < 0.0 ? 0.0 : topCorrect);
myTextView.contentOffset = (CGPoint){.x = 0, .y = -topCorrect};
}
图像是这样创建的:
如何将字母A居中?
在左边我得到了原始图像(位图),在左边(roundBitmap)我希望我想要除了标签居中之外:
答案 0 :(得分:1)
Chris Banes写了一篇关于这个问题的帖子。 Measuring Text
答案 1 :(得分:1)
由于您的图片尺寸始终相同,因此您应修改以下代码
scaleWidth = (((float) destWidth)+20) / width; float scaleHeight = (((float) destHeight)+20) / height;