如何创建一个空的(0x0)图像?

10
我正在尝试找到一种方法来创建一个零宽度、零高度的图片,使其符合任何格式的标准。
我已经尝试了 Windows Bitmap (BMP) format(仅包含 54 字节头文件),但似乎图像阅读器不接受它。
理论上的 0x0 BMP 字符串:
424D360000000000000036000000280000000000000000000000010020000000000000000000C40E0000C40E00000000000000000000

哪种格式可以支持这个,我可以用哪些工具来创建它?甚至编程解决方案也可以(例如C# System.Drawing脚本)。

注意:PNG规范禁止零宽度/高度。 - Константин Ван
3个回答

8

图片读取器通常不接受小于1的宽度或高度。因此,即使某些图像格式的规格允许0x0,我们仍需将1x1作为最小实际使用尺寸。此处详细介绍了一个大小为67字节的PNG:http://garethrees.org/2007/11/14/pngcrush/ ,这可能是最小的可能大小。同样可以用67个字节创建一个透明的PNG。


2
这是一个 SVG 文件,基本上是空的:

<?xml version="1.0"?><svg xmlns="http://www.w3.org/2000/svg"/>

默认情况下是1x1像素。
要强制使用0x0像素的图像,可以尝试:
<svg xmlns="http://www.w3.org/2000/svg" width="0" height="0"/>

1

是的,一个1x1的透明图像就可以解决问题。或者你可以制作一个使用该图像的0x0对象。例如:如果你要在程序中使用该图像,则可以使用高度=0和宽度=0的PictureBox。这是我成功使用过的一种方法。

但从你的问题中,我无法理解它是否与编程有任何关联,而不是与图像制作有关。我也不明白为什么你需要一个0x0的图像,它几乎是看不见的...但我猜你有你的理由。


3
我认为他们这么做是因为它看起来像一个有趣的难题 :) - Jon Hanna

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接