首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从CGImage修剪alpha

从CGImage修剪alpha
EN

Stack Overflow用户
提问于 2011-02-10 23:30:59
回答 1查看 351关注 0票数 1

我需要修剪过的CGImage。我有一个图像,它的某些颜色周围有空白空间(alpha = 0),需要对其进行裁剪,以获得仅可见颜色的大小。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-10 23:45:24

有三种方法可以做到这点:

1)使用photoshop (或选择的图像编辑器)来编辑图像-我假设你不能这样做,这是一个太明显的答案!

2)忽略它--为什么不直接忽略它,画出它的全尺寸图像呢?它是透明的,所以用户永远不会注意到。

3)编写一些代码,遍历图像中的每个像素,直到它到达alpha值> 0的像素。这应该会给出要从顶部修剪的行数。然而,这会减慢你的UI,所以你可能想在后台线程上做。

例如:

代码语言:javascript
复制
// To get the number of transparent rows at the top of the image
// Sorry this code is so ugly
uint32 *p = start_of_image;
while ( 0 == *p & 0x000000ff && p < end_of_image_data) ++p;
uint number_of_white_rows_at_top = (p - start_of_image) / width_of_image;

当您知道图像周围的透明空间大小时,您可以使用UIImageView绘制它,将renderMode设置为中心,并让它为您进行修剪:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4959062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档