使用libjpeg yuv422格式压缩jpeg_JPEG,TIFF,PSD,BMP,PICT,PNG和GIF图形文件格式类型和使用...

c1f1a40f2e9b9ca5240466abc6f781fc.png

图像有几种不同的类型,每种都有用途。您将遇到的某些文件后缀是JPEG,TIFF,PSD,BMP,PICT和PNG。

以下是使用每种图像文件的一些一般准则:

何时使用JPEG

联合图像专家组(JPEG或JPG)最适合用于照片,当您需要保持文件大小较小并且不介意为了显着减小大小而放弃某些质量时。

生成JPEG文件时,压缩程序将查看图像,识别出常见颜色的区域,然后使用它们。压缩器无法识别的常见颜色是“丢失”。图像中颜色信息的数量减少,这也减小了文件大小。

通常,您会为JPG设置质量值,例如Photoshop图像选项,其值介于0到12之间。任何低于5的值都很可能会导致像素化图像,因为压缩器会抛出大量信息以减小文件大小。最好尝试将质量值设置为8或更高。JPEG不适合包含文本,大块颜色或简单形状的图像,因为清晰的线条会模糊,并且颜色可能会偏移。

a5b96b5602a52cefc6129f56081e0712.png

JPEG的三种类型是“基线”,“基线优化”和“渐进式”。

  • 基准(标准) -所有Web浏览器都可以识别此JPEG格式。
  • 基线优化 -此JPEG格式选项提供了优化的颜色和略微更好的压缩效果。所有现代浏览器都支持它,但是较早的浏览器不支持。今天,这是JPEG文件的最佳选择。
  • 渐进式 -创建一个JPEG文件,该文件在下载时显示,开始出现块状,并在下载时逐渐清晰。它不会使图像下载速度更快,但是由于块状图像会在较慢的连接上立即加载,因此它会给人一种速度上的错觉。在当今大多数互联网用户都使用高速连接的情况下,渐进式JPEG很少使用。

何时使用TIFF

TIFF(标记图像文件格式)适用于要打印的任何类型的位图(基于像素)图像,因为该格式使用该行业的CMYK颜色标准。TIFF可以产生大文件,这要归功于300 ppi的通用分辨率,并且没有质量损失。从Photoshop保存时,TIFF还保留图层,alpha透明度和其他特殊功能。TIFF文件中存储的额外信息的类型在不同的Photoshop版本中有所不同,因此请查阅Photoshop的帮助以获取更多详细信息。

何时使用PSD

PSD是Photoshop的本机格式。当您需要保留图层,透明度,调整图层,蒙版,剪切路径,图层样式,混合模式,矢量文本和形状时,请使用PSD。

只有Photoshop可以打开和编辑PSD文件,但是某些图像编辑器会打开它们。

何时使用BMP

将BMP用于任何类型的位图(基于像素)图像。BMP是巨大的文件,但质量没有损失。BMP与TIFF相比并没有真正的好处,只是您可以将其用于Windows墙纸。BMP是计算机图形学早期遗留下来的一种图像格式,现在已不再使用。

何时使用PICT

PICT是一种旧的,仅限Mac的位图格式,用于Quickdraw渲染。与Windows的BMP相似,现在没有多少人使用PICT。

何时使用PNG

当您需要较小的文件大小且没有质量损失时,请使用PNG。PNG文件通常小于TIFF图像。PNG还支持Alpha透明度(软边),并开始作为GIF的Web图形替代。

要保持完全透明,请将PNG文件另存为PNG-24而不是PNG-8。当您不需要透明度时,PNG-8可用于减小文件大小,但是它具有与GIF文件相同的调色板限制。

PNG格式通常也出现在iPhone和iPad的图像中。照片不能以PNG格式很好地呈现。这是一种无损格式,这意味着它们不会被压缩,并且文件大小比其JPG表亲大得多。

何时使用GIF

将GIF用于颜色有限(最多256种)的简单Web图形。GIF文件可为网络制作小型,快速加载的图形。GIF非常适合用于Web按钮,图表或图表,类似卡通的绘图,横幅和文本标题。人们还将GIF用于小型,紧凑的网络动画。由于移动设备和社交媒体的兴起,GIF图像和GIF动画的兴起使GIF很少用于照片。

Thanks for letting us know!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
利用jpeglib库转JPEG static void put_jpeg_yuv420p_file(FILE *fp, unsigned char *image, int width, int height, int quality) { int i, j; JSAMPROW y[16],cb[16],cr[16]; // y[2][5] = color sample of row 2 and pixel column 5; (one plane) JSAMPARRAY data[3]; // t[0][2][5] = color sample 0 of row 2 and column 5 struct jpeg_compress_struct cinfo; struct jpeg_error_mgr jerr; data[0] = y; data[1] = cb; data[2] = cr; cinfo.err = jpeg_std_error(&jerr); // Errors get written to stderr jpeg_create_compress(&cinfo); cinfo.image_width = width; cinfo.image_height = height; cinfo.input_components = 3; jpeg_set_defaults(&cinfo); jpeg_set_colorspace(&cinfo, JCS_YCbCr); cinfo.raw_data_in = TRUE; // Supply downsampled data #if JPEG_LIB_VERSION >= 70 //#warning using JPEG_LIB_VERSION >= 70 cinfo.do_fancy_downsampling = FALSE; // Fix segfault with v7 #endif cinfo.comp_info[0].h_samp_factor = 2; cinfo.comp_info[0].v_samp_factor = 2; cinfo.comp_info[1].h_samp_factor = 1; cinfo.comp_info[1].v_samp_factor = 1; cinfo.comp_info[2].h_samp_factor = 1; cinfo.comp_info[2].v_samp_factor = 1; jpeg_set_quality(&cinfo, quality, TRUE); cinfo.dct_method = JDCT_FASTEST; jpeg_stdio_dest(&cinfo, fp); // Data written to file jpeg_start_compress(&cinfo, TRUE); for (j = 0; j < height; j += 16) { for (i = 0; i < 16; i++) { y[i] = image + width * (i + j); if (i % 2 == 0) { cb[i / 2] = image + width * height + width / 2 * ((i + j) / 2); cr[i / 2] = image + width * height + width * height / 4 + width / 2 * ((i + j) / 2); } } jpeg_write_raw_data(&cinfo, data, 16); } jpeg_finish_compress(&cinfo); jpeg_destroy_compress(&cinfo); }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值