标签: image-formats

JPG与JPEG图像格式

我经常使用JPEG的图像,我已经注意到,有两个非常相似的文件扩展名:.jpg,这我的手机的摄像头和预览应用程序使用,并且.jpeg,与图像捕捉从我的扫描保存图像佳能MX455打印机.LaTeX似乎没有区分,因为我给它.jpeg改变了扩展名.jpg,结果似乎与.jpg从一开始就是正确的结果相同.我想知道两者之间的区别是什么.我已经遇到过这个问题,并且肯定会读到这个问题,尽管目前我还有点时间.然而,从我看到的快速浏览,似乎没有区分这两个扩展.事实上,似乎文件类型的名称是JPEG,文件扩展名是.jpg:

JPEG(或JPG,用于文件扩展名;联合图像专家组)

(摘自第一个答案).那么两个扩展之间有什么大的区别吗?如果是这样,它是什么?

file-extension jpeg image image-formats

252
推荐指数
5
解决办法
47万
查看次数

浏览器支持哪些图形文件格式?

JPEG,GIF和PNG可以使用img标签显示,并且可以在所有浏览器中使用,对象元素可以用于显示指定其MIME类型的图像,但是在大多数浏览器中img或object标签支持的其他图形格式没有安装插件吗?(TIF,SVG,PCX,PICT等..)

cross-browser image-formats

48
推荐指数
1
解决办法
6万
查看次数

在PHP中从base64字符串中检测图像类型

是否有可能找出在PHP中编码为base64字符串的图像类型?

我没有访问原始图像文件的方法,只有编码的字符串.从我所看到的,imagecreatefromstring()可以从字符串表示(从base64解码后)创建图像资源,但它自动检测图像类型,图像资源本身是一个特殊的PHP表示.如果我想再次将图像保存为文件,我不知道我保存的类型是否与创建字符串表示的原始类型相对应.

php base64 image-formats

46
推荐指数
4
解决办法
6万
查看次数

网站图像格式:为正确的任务选择正确的格式

在设计网站时,您认为用于特定任务的最佳图像格式是什么?

在尝试找出用于特定任务的格式时,我总是发现自己处于两难境地......例如,我应该全面使用.jpg吗? 或者,何时以及为什么要使用.png?

例如,在亚马逊网站上,他们使用.jpg作为产品图片(例如),.gif用于此透明像素(示例)和.png用于其CSS Sprites(示例)

另一方面,Play.com使用.gif作为他们的网站徽标(示例),但使用.jpg作为他们的网站产品(如亚马逊)(示例),并且就他们的主页而言,他们没有任何.png在它上面.

那么我应该为我的网站使用哪些格式?我为什么要用它们?

[UPDATE]

感谢CruellO提供了解释差异的链接,也感谢Dustin提供了使用内容的理由.

image-formats

44
推荐指数
3
解决办法
5万
查看次数

如何用PIL获取图像格式?

使用PIL.Image加载图像文件后,如何确定图像文件是否为PNG/JPG/BMP/GIF?我对这些文件格式了解甚少,PIL可以format从文件头获取元数据吗?或者是否需要"分析"文件中的数据?

如果PIL没有提供这样的API,那么有没有python库呢?

python image-formats python-imaging-library

32
推荐指数
1
解决办法
3万
查看次数

以编程方式将图像添加到RTF文档

我正在尝试将图像添加到我正在创建的RTF文档中.我宁愿不使用"复制/粘贴"的方法(即涉及粘贴一个RichTextBox内的图像,然后访问.RTF属性),它清除剪贴板(因为这将是我的最终用户的麻烦和混乱).

到目前为止我的代码返回了需要插入RTF文档以打印图像的字符串.输入的图像(位于$ path)通常采用bmp或jpeg格式,但在这个阶段我并不关心图像是如何存储在RTF中的,只是我可以让它工作.

public string GetImage(string path, int width, int height)
{
    MemoryStream stream = new MemoryStream();
    string newPath = Path.Combine(Environment.CurrentDirectory, path);
    Image img = Image.FromFile(newPath);
    img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);

    byte [] bytes = stream.ToArray();

    string str = BitConverter.ToString(bytes, 0).Replace("-", string.Empty);
    //string str = System.Text.Encoding.UTF8.GetString(bytes);

    string mpic = @"{\pict\pngblip\picw" + 
        img.Width.ToString() + @"\pich" + img.Height.ToString() +
        @"\picwgoa" + width.ToString() + @"\pichgoa" + height.ToString() + 
        @"\hex " + str + "}";
    return mpic
}
Run Code Online (Sandbox Code Playgroud)

但问题是这段代码不起作用,因为据我所知,字符串str没有正确的字符串转换在RTF中工作.

编辑:我的问题是在@"\ hex"中的\ hex之后缺少一个空格,并且也没有从BitConverter的返回值中删除" - "字符

c# rtf image image-formats

22
推荐指数
3
解决办法
4万
查看次数

获取OpenCV图像类型的枚举名称(例如CV_32FC1)?

在OpenCV的C++界面中,检查图像类型似乎很容易.如果您有图像cv::Mat img = cv::imread("someImage.xyz"),那么您就是这样做的int theType = img.type().

但是,正如您所期望的那样,调用img.type()只给出一个整数,而不是枚举名称(例如CV_32FC1).

CV_32FC1如果我知道OpenCV枚举的整数值,是否有一种简单的方法可以打印出枚举名称(例如)?

c++ enums opencv image-processing image-formats

21
推荐指数
2
解决办法
3万
查看次数

用于WPF的首选图像格式?

根据标题,WPF中使用的首选图像格式(或格式)是什么?

我的公司将雇用一名设计师来设计一些徽标,图像,工具栏图标等,以便在WPF应用程序中使用.我打算要求矢量图形,因为它们应该拉伸,收缩等,而不会失去清晰度;

但是,阅读这篇文章 WPF是否支持本地读/写WMF/EMF文件? 和其他人让我担心; 它不像一个简单的任务吗?!这不是WPF应该在睡眠中原生处理的东西吗?拉伸,旋转,抛火焰,烤面包等......

wpf vector raster image-formats

13
推荐指数
1
解决办法
5862
查看次数

主流浏览器支持哪些图像格式?(2012)

我想知道主要浏览器会支持哪些图像格式(除了基本的JPEG,GIF,PNG),特别是Chrome,Firefox和Webkit.如果任何人都可以提供某个地方的列表链接(经常更新以应对最近的频繁更新),这将是很棒的.支持其他格式(如文档和视频)也不错.

我觉得这个信息应该列在某个地方,但是当我搜索时我没有找到任何这样的东西.

image cross-browser image-formats

11
推荐指数
2
解决办法
1万
查看次数

图像格式化内存中的NV12存储

我完全理解所讨论的NV12格式的大小

NV12格式和UV平面

现在我正在阅读有关以这种格式存储UV平面的两个来源:一个是https://msdn.microsoft.com/en-us/library/windows/desktop/dd206750(v=vs.85).aspx

NV12

所有Y样本首先在内存中显示为具有偶数行的无符号字符值数组.Y平面后面紧跟着一组无符号字符值,其中包含打包的U(Cb)和V(Cr)样本.当组合的UV数组作为little-endian WORD值的数组寻址时,LSB包含U值,并且MSB包含V值.NV12是DirectX VA的首选4:2:0像素格式.预计这将是支持4:2:0视频的DirectX VA加速器的中期要求.下图显示了Y平面和包含U和V样本的数组.

我的理解是:在UV平面中,每个U和V都以单字节存储.

当我从维基百科阅读这篇文章时:https: //wiki.videolan.org/YUV#NV12

它说:

NV12

与I420相关,NV12具有一个亮度"亮度"平面Y和一个具有U和V值交错的平面.在NV12中,色度平面(蓝色和红色)在水平和垂直维度上进行二次采样,系数为2.对于2x2像素组,您有4个Y样本和1个U和1个样本.将NV12视为I420与U和V平面交错是有帮助的.这是NV12的图形表示.每个字母代表一位:对于1 NV12像素:YYYYYYYY UVUV对于2像素NV12帧:YYYYYYYYYYYYYYY UVUVUVUV对于50像素NV12帧:Y*8*50(UV)*2*50对于n像素NV12帧:Y*8*n(UV)*2*n

我在这里理解的是:每个U和V在每个字节中逐位交错.因此,UV平面的每个字节将包含4U位和4V位交错.

任何人都可以澄清我的怀疑吗?

image-processing yuv image-formats nv12-nv21

10
推荐指数
1
解决办法
2万
查看次数