AI 生成的透明图标,放到深浅两种底色上检查
一张图在白底上看着干净,放进深色页面却露出白色方框;也有文件直接把灰白棋盘格画进了背景。想拿 AI 图标当网页素材,先确认文件里真的有透明像素,再看边缘。
这次实际生成了一枚青绿色文件夹图标。下面把同一张 PNG 放到白底和深底,截图来自本地 HTML 预览:
这是本次生成的一个结果,不是不同模型的效果对比。原始 PNG、完整提示词、预览页和检查脚本都在包里:
生成时,把格式和背景一起说清
使用支持透明背景输出的图像工具;若有独立的“透明背景”选项,要一起启用。本次调用实际开启了该选项,不能只在描述里写“透明”。
生成一枚可复用的项目知识库图标:一只打开的青绿色立体文件夹,里面露出两张浅奶白色的卡片,正面只有一枚简洁的白色四角星形徽记。
图标居中,完整显示,四周保留约12%的透明空白,适合放在网页的浅色或深色卡片上。
风格为干净的柔和3D插画,边缘清楚,材质细腻;不画外投影,不画地面,不画场景。
背景必须是真实透明的alpha通道,不是白色、灰色或画出来的棋盘格。
不要文字、字母、数字、网址、域名、二维码、品牌、水印或界面。输出透明PNG。 PNG 和 WebP 可以承载透明背景,JPEG 不支持。文件扩展名本身不能证明这张图有透明区域:即使带 alpha 通道,也可能每个像素都是完全不透明的。
不写代码,先打开预览页
解压后,让 icon.png 与 preview.html 放在同一目录,用浏览器打开 preview.html。换自己的图时保留这个文件名,再刷新。
先看四角有没有跟随背景变色,再看文件夹轮廓附近是否有白边、黑边、棋盘格残留,卡片是否被错误抠掉。放大看清边缘后,还要缩回实际使用尺寸;大图干净不等于小图仍然清楚。
本例在桌面和 390 像素宽的手机预览中都能显示,页面没有横向溢出。350 像素宽预览里看不到整块方形底框;但原尺寸放大看,卡片右上边缘仍有少量不规则浅边。这里保留生成原图供对照,边缘要求高的用途还应继续修整,不能因为脚本返回 0 就直接宣布抠图完美。
脚本能查什么
Python 3.10+,只依赖 Pillow。解压目录里运行:
python -m pip install -r requirements.txt
python inspect_alpha.py icon.png
python -m unittest -v test_inspect_alpha.py 本次原图实际为 1312×1199、RGBA PNG。运行得到的关键统计:
{
"alpha_counts": {
"zero": 950003,
"partial": 622614,
"opaque": 471
},
"state": "has_transparency_and_visible_pixels",
"exit_code": 0,
"visual_review": "not_checked"
} 这是本文件的像素统计,不是“透明像素越多越好”的评分。
alpha 值为 0 是完全透明,255 是完全不透明,中间值是部分透明。脚本检查同时存在 alpha 小于 255 的像素和 alpha 大于 0 的像素;整张半透明的图也可能返回 0。全透明的空文件返回 1。
材料包已在新目录解压运行,10 项本地测试通过,覆盖不透明 RGB/RGBA、全透明图、半透明图、调色板透明、画出来的棋盘格和损坏文件等反例。检查器遇到全不透明或全透明返回 1,文件问题返回 2;只有结构条件通过才返回 0。这些测试验证脚本行为,不是图像模型的成功率。
本地验证环境是 Python 3.12.14、Pillow 12.3.0。帖子里的深浅底截图已经合成了背景,想用透明原件请下载 ZIP 中的 icon.png。
这个检查只能验证透明结构,不能判断抠图质量。 主体缺了一块、边缘有白色污染、只留了一个透明像素,这些情况仍可能通过结构检查,要回到深浅底预览看实际图像。检查器不自动改图,也不保证图像生成工具下次仍给出相同结果。
资料:OpenAI 图像生成文档中透明背景与输出格式说明、Pillow 图像透明信息与通道说明,2026-10-23 核对当前文档。