`
linhui_dragon
  • 浏览: 155034 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

PNG8和PNG24的区别

 
阅读更多
PNG8和PNG24的区别



内容图片的大小的优化,告诉大家一个比较简单的方法,就是使用雅虎提供的一个工具。他就是smushit:http://www.smushit.com/




今天我做了一个图,因为需要透明,所以我存为了PNG8格式,结果发现图片变了,图片变得四周都
不光滑了,四周都变得有锯齿了,而且阴影也不见了,后来存为PNG24,这些问题就消失了。
我去百度搜索了关于PNG8和PNG24的区别,看到下面的文章,原来PNG8要么完全透明,要么完全不透
明,不支持半透明,所以才会出现上面的问题,但PNG24支持半透明的。
详细请看以下文章,希望能帮到您哦,呵呵

一直在png图片透明这块,模糊着,虽然XXX,就是因为懒没有认真测试测试。今天看到同事要做一个这样的效果时,发现得弄弄了,于是去新浪微博看下它logo的实现时,遇到这个问题(想知道它用的什么格式的png图)。
首先先做下比较,因为估计做前端的人和我一样知道最多的就是png是一种包含半透明格式的图片。其实我们还要知道:
1.png8和png24的根本区别,不是颜色位的区别,而是存储方式不同。
2.png8有1位的布尔透明通道(要么完全透明,要么完全不透明),png24则有8位(256阶)的布尔透明通道(所谓半透明)。
png-8 和 gif 有一些相似之处,模式都是索引颜色,只支持像素级的纯透明,不支持 alpha 透明。
我们通常说的“IE6 不支持 PNG 透明”,是指不支持 PNG-24 的透明。但是 IE6 支持 PNG-8 的透明,就像支持 gif 的透明一样。


这样我们在工作中就有了方向:
1.色彩丰富的、大的图片切成jpg的;
2.尺寸小的,色彩不丰富的和背景透明的切成gif或者png8的;
3.半透明的切成png24。

回到本文开头的问题,如何区别(最简单的2种办法):
1.在ps里看图像---模式,png8当然只有8位/通道了。
2.当打开png8的图片时,ps会默认给它的图片标题上加上“索引”两字,png24的则没有。

最后说下png透明ie6下的解决问题:
因为懒原来只搜集了办法,没实践,发现看起来很不好,周末好好测试一番,总结一下。
新浪微博的logo(png24)采用了下面的方法来实现透明:
_background:none; 
_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='logo.png',sizingMethod='crop');
但是测试发现当给background:red url(logo.png) no-repeat center;加了红色时,别的浏览器正常识别,ie6会出现依旧不识别的情况。
解决办法是在外面套的标签,或body加背景色,其他办法等周末细弄吧。(background-color:red;单独写就可以了)
分享到:
评论

相关推荐

    MatLab 批量将24位PNG彩图转换为8位PNG彩图

    通常,24位PNG图像具有丰富的色彩,能够表示超过1600万种颜色,而8位PNG图像只能表示256种颜色。在某些情况下,如存储空间限制、网页优化或者特定应用需求,可能需要将24位PNG图像转换为8位PNG图像。在本教程中,...

    24X24 png 精美丽图标

    标签“24x24 PNG 精美图标 程序”进一步明确了这些图标的用途和特性。24x24像素的大小特别适合在小屏幕上显示,例如在移动设备的应用程序或桌面程序的菜单栏。此外,“程序”标签暗示这些图标可能包括常见的计算机...

    jpg,png等格式图片转24位图

    24位的jpg图片意味着每个像素由红色、绿色和蓝色三个通道组成,每个通道都有8位表示,总共24位。 接下来是png格式的图片。PNG(Portable Network Graphics)是一种无损压缩的图像格式,支持透明度和索引色模式。PNG...

    Png图片压缩工具

    颜色量化是将PNG32的24位颜色空间映射到PNG8的8位颜色空间的过程。这需要一种策略来选择最能代表原图颜色的256个颜色,这通常通过K-Means聚类算法或其他类似方法来实现。在保持图像视觉质量的同时,减少颜色数量。 ...

    PNG转8位深度

    在这个主题中,我们将深入探讨PNG图像转换为8位深度的过程,以及这一操作在实践中的意义和应用。 在PNG图像中,位深度决定了颜色调色板的大小。例如,一个8位的PNG图像可以有256种不同的颜色,因为2的8次方等于256...

    png 库应用png 库 png库 png库 png库 png 库png库 png 库png 库

    png 库应用png 库 png库 png库 png库 png 库png库 png 库png 库png 库应用png 库 png库 png库 png库 png 库png库 png 库png 库png 库应用png 库 png库 png库 png库 png 库png库 png 库png 库png 库应用png 库 png库 ...

    使用pnglib库将png转成bmp代码

    PNG通常是24位或32位,因此通常不需要颜色表。 6. **组织像素数据**:BMP的像素数据是从下到上,从左到右存储的,与PNG的从上到下相反,因此需要调整像素数组的顺序。 7. **写入BMP文件**:将位图头、颜色表(如果...

    BCB组件pngimage,让bcb支持png

    PNGImage组件是由第三方开发者创建的一个强大的工具,它允许BCB应用程序读取、显示和操作PNG图像。这个组件的核心在于其包含的一系列PAS源代码文件,例如pngimage.pas、pnglang.pas、pngextra.pas和pngzlib.pas等。...

    MFC png 图片加载

    PNG(Portable Network Graphics)是一种无损压缩的图像文件格式,广泛用于网页和其他数字媒体中。在MFC应用中,我们常用以下两种方式来加载PNG图片: 1. **使用GDI+** GDI+是Windows操作系统提供的一种图形处理库...

    png++库安装指南和代码

    在安装和使用png++库之前,我们需要确保libpng和zlib库已正确安装并更新到与png++相匹配的版本。 首先,让我们详细了解一下这三个库: 1. **zlib库**:zlib是一个广泛使用的数据压缩库,提供了多种压缩和解压缩...

    PngImage处理png图片

    PNG(Portable Network Graphics)是一种无损压缩的位图格式,广泛用于网页和其他数字媒体中,因为它支持透明度和高色彩深度。在.NET框架下,处理PNG图片时,开发者可能会遇到一些困难,因为标准的.NET库可能无法...

    PNG_png_

    `.png`文件可能是用作测试的图像资源,比如`icoMedium.png`、`icoFast.png`、`icoSlow.png`和`icoStationary.png`可能代表不同状态或速度的图标,它们可能被用来展示或测试读取PNG图像的功能。 总结来说,这个项目...

    ICO和PNG图标相互转换生成软件,支持PNG格式和ICO格式的图标相互转换

    常见的图标格式有两种:ICO和PNG。ICO是Windows操作系统中的标准图标格式,它允许在一个文件中包含多个不同尺寸和颜色深度的图标,以适应不同的显示需求。PNG(Portable Network Graphics)则是一种无损压缩的位图...

    Delphi7可用的PngImage控件 PNG Delphi v.1.564

    Delphi7可用的PngImage控件 PNG Delphi v.1.564,可用于D7显示Png图片。 使用方法:(Delphi 7 使用成功案例) 1、将本包中所有文件复制到开发文件保存的目录中 2、在USES单元中加入pngimage 3、窗体中插入image1...

    delphi使用png图片的示例

    在Delphi编程中,UI界面的设计是至关重要的,而PNG图片因其高质量和透明度特性,常被用于创建精美且具有专业感的用户界面。然而,原生的Delphi Image组件并不直接支持PNG图像格式,这使得开发者需要寻找额外的方法来...

    多张PNG小图合并PNG大图小工具

    在与PNG合并时,通常建议先将JPEG和GIF转换为PNG,因为PNG能更好地保持图像质量和透明度,且更适应现代网页和应用的需求。 "多张PNG小图合并PNG大图小工具"的使用可能包括以下步骤: 1. 收集所有需要合并的小PNG...

    PNG转ICON或ICON转PNG工具

    这可能是为了在非Windows平台上使用,或者在编辑图标时需要更高级的编辑功能,因为PNG格式支持更多的色彩和透明度选项。同样,AveIcon可能提供这个功能,让使用者能快速方便地把ICO文件导出为PNG,以便在其他地方...

    Delphi7 PngImage控件 PNGimage for Delph7

    2、在USES单元中加入pngimage 3、窗体中插入image1控件 4、在调用位置,加入如下代码就OK啦! var png: tpngimage; begin png := tpngimage.Create; png.LoadFromFile(getcurrentdir() + '\pic.png'); ...

    label.png图像16位或24位转8位,用于Mask Rcnn训练(绝对可用)

    (代码简洁, 绝对可用)使用python将24位或者16位图像转换为8位图像,用于labelme标记的MASK_RCNN进行样本训练, 自己的样本数据是24位就是用这代码进行转换成8位, 样本已训练成功.(16位亦可用).

Global site tag (gtag.js) - Google Analytics