问题标签 [png]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4655 浏览

c# - 如何在文件的一部分上使用 DeflateStream?

我正在解决我的另一个问题它正在读取 PNG 的“zTXt”块中的数据。我正在查找文件中的块,并阅读 zTXt 的关键字。我无法读取 zTXt 的压缩部分。我以前从未使用过 DeflateStream 对象,并且遇到了一些麻烦。读取时,似乎期望长度参数为“未压缩”字节。然而,就我而言,我只知道“压缩”字节中的数据长度。为了解决这个问题,我将所有需要解压缩的数据放入 MemoryStream 中,然后使用 DeflateStream 进行“读取结束”。现在这简直太棒了,除了它抛出一个 InvalidDataException 消息“块长度与它的补码不匹配”。现在我不知道这意味着什么。

块的格式是 ID(“zTXt”)的 4 个字节,数据长度的大端 32 位 int,数据,最后是我现在忽略的 CRC32 校验和。

zTXt 块的格式首先是以 null 结尾(字符串作为关键字),然后是压缩方法的一个字节(始终为 0,DEFLATE 方法),其余数据为压缩文本。

我的方法接收一个新的 FileStream,并返回一个带有 zTXt 关键字和数据的字典。

现在是怪物:

一旦解决了这个问题,我需要编写一个函数,将这些 zTXt 块添加到文件中。所以希望一旦解决这个问题,我就能理解 DeflateStream 是如何工作的。

非常感谢!!

0 投票
2 回答
214 浏览

compression - 有谁知道压缩PNG图像的某些部分而不对其进行切片的程序/方法?

请帮忙!提前致谢。


更新:很抱歉延迟回复,但如果在这里提供更多背景信息会有所帮助,因为我不确定我应该问什么替代问题。

我有一个 300px x 300px 的网站主页图像。该图像有几个不同的区域,包括两个在区域顶部有图形副本的区域。

在不影响文本的外观和图像的关键区域的情况下,我已尽可能地压缩图像。

我尝试切片图像的不太关键的区域并以较低的压缩率保存这些区域,以降低总 kbs,但正如 gregmac 发布的那样,重新加入时这些部分看起来不正确。

我想知道是否有一个软件,或者手动解决方案来识别图像的关键区域以“减少压缩”并且可以更多地压缩图像的其他部分以减小文件大小,同时保留这些元素在需要高分辨率更清晰的图形中。

0 投票
6 回答
3041 浏览

pdf - google 使用什么应用程序在 gmail 中显示 PDF 附件

当谷歌在新窗口中显示 gmail 中的 PDF 附件时,我观察了流量。内容作为每个 PDF 页面的 PNG 图像提供。并且可以选择其文本。谷歌在服务器端使用什么来为 pdf 文件中的特定页面生成 PNG 文件?png 文件上的文本选择如何工作?有任何想法吗?

0 投票
5 回答
10911 浏览

java - 如何将多个 png 图像转换为单个 tiff 文件

我有几个 png 格式的图像的字节数组。我必须将其转换为 tiff 文件,然后转换为相应的字节数组。此 tiff 文件将包含多个图像。

我已经搜索了很多,但我没有成功。问题是。我只需要在java中做到这一点!:) 任何人都可以就我的问题提供一些见解吗?

我不会从 ImageMagick 等中受益,因为我有一个处理此转换的服务器组件,然后将其作为 tiff 保存在后端。客户端给了我一个字节数组,它将转换为 png 图像。

0 投票
1 回答
850 浏览

asp.net - 在 ASP.net/GDI+ 上设置调色板生成的 PNG 图像

我刚刚在 ASP.net 中构建了一个返回 PNG 图像的应用程序。

生成的图像在透明背景上完全是黑色的。有没有办法索引图像以减小文件大小?

我无法在创建新图像时为其编制索引,因为我正在使用不允许它的图形对象。

非常感谢您的帮助 - 我一直在寻找年龄,我似乎无法弄清楚如何设置它。

0 投票
1 回答
2239 浏览

cocoa - 绘制到 NSImage 时设置颜色

我正在尝试用 Cocoa 中的日期标记图片文件,并尝试在一个小型命令行工具中执行此操作。它工作正常......但是,我似乎无法设置颜色。难道我做错了什么?

0 投票
4 回答
21950 浏览

iphone - 为 iPhone UITabBar 生成图标

我一直忙于为我的 iPhone 应用程序处理图形。我开始为我的 UITabBar 生成图标并遇到了很多问题。你如何创建这些图标?

我创建了这个解决方案:

http://www.nailrails.com/?p=46

这种方法有什么缺点吗?它似乎适用于我创建的几个图标......

0 投票
5 回答
2846 浏览

internet-explorer - 如何在IE6中使用半透明png图片

如何在 IE6 中使用半透明 png 图片?

0 投票
2 回答
1863 浏览

html - 使用动画 PNG 图像时避免浏览器不兼容

动画 PNG 图像 (APNG)已经存在了很长一段时间,试图将 GIF 格式的这一功能添加到 PNG 图像中。根据Wikipedia,Opera (>= 9.5) 和 Firefox (>= 3.0) 支持它们。如果浏览器不支持 APNG 图像,则会显示 APNG 动画中的第一帧,因为它被定义为广泛支持的 PNG 格式的扩展。假设您有一个动画 PNG 想要在您的站点中显示,并且您想要警告您的用户,如果他们的浏览器不支持它。你会怎么做?

0 投票
1 回答
1942 浏览

iphone - 对于具有 alphatransparency 的 pngcrunch 优化的 24 位 PNG 文件,我必须为每个组件指定多少位?

CGBitmapContextCreate 接受一个对我来说不是很明显的参数:

例如,对于 32 位像素格式和 RGB 颜色空间,您将指定每个组件 8 位的值。

我创建了具有 alphatransparency 的 24 位 PNG 文件,并将它们添加到 Xcode。在编译时,Xcode 使用 pngcrunch 优化那些 PNG 切片。

因此,当尝试在 iPhone-OS 上从此类图像文件中创建图形上下文时,我需要指定每个组件的位。

在这种情况下,我会说它们是每个组件 4 位,尽管我不知道 alpha 是否算作一个组件。