相关疑难解决方法(0)

将Jpeg图像转换为Bmp - 一些图像呈蓝色

Delphi似乎不喜欢一些Jpg图像.它似乎特定于我正在加载的文件.并且过程很简单 - a)将Jpg图像加载到TJpegImage,b)将Jpg对象分配给TBitmap对象,以及c)保存和/或显示Bmp图像.出于某种原因,这些图片不断出现蓝色调.

这些图像完美地展示了我装载它们的任何地方和任何地方(windows picture viewer,paint,photoshop等).

我正在做的很简单......

procedure Load;
var
  J: TJpegImage;
  B: TBitmap;
begin
  J:= TJpegImage.Create;
  B:= TBitmap.Create;
  J.LoadFromFile('C:\SomeFile.jpg');
  B.Assign(J);
  //Either save or display `B` and it appears blueish at this point
....
Run Code Online (Sandbox Code Playgroud)

我想尽可能避免收到任何第三方的东西.Delphi版本7,2010和XE2中存在此问题.至少XE2中的TImage控件正确显示它(而不是旧的两个),但是如果TBitmap仍然不起作用则无关紧要.这个文件有什么问题?和/或,Delphi的渲染有什么问题?

添加了信息

我最近发现了一些关于这些图像的东西.当他们来自供应商(产品图片)时,他们采用CMYK格式.那时,Delphi 7没有正确支持这些文件(具有访问冲突和坏图像),因此所有图片都通过转换器过滤为RGB颜色格式.许多原始图像也是TIFF并转换为JPG.因此,软件似乎FastStone Image Resizer无法正常保存这些文件.所有这些都不会发生蓝色图像,一次只能进行一些随机批次.该软件处理数千种产品,因此有数千种可能的图片.

delphi graphics jpeg image-processing

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

WIC和GDI +之间的关系是什么?

我对Windows Imaging Component(WIC)和GDI +之间的关系模糊不清.我在过去做过一些工作,表明,例如,WIC产生了视觉上优越的GIF编码,但我很惊讶我没有看到更多的人使用它进行图像处理而不是GDI +.我知道它没有GDI +的绘制操作,但对于编码/解码它似乎更优越.那么为什么我们不看迁移呢?

graphics gdi+ image-processing wic

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

标签 统计

graphics ×2

image-processing ×2

delphi ×1

gdi+ ×1

jpeg ×1

wic ×1