如何正碓轉換TIFF To JPEG |
答題得分者是:GrandRURU
|
g6101
高階會員 發表:22 回覆:129 積分:110 註冊:2002-06-15 發送簡訊給我 |
如題:
※來源影像描述 格式:TIFF 色彩:CMYK 解析:240(DPI) 尺寸:浮動(不固定) 用途:印刷(排版) ※目標影像描述 格式:JPEG 色彩:RGB 解析:72(DPI) 尺寸:寬=480 Pixel(固定)/高=(按寬等比縮放) 用途:互聯網(網頁) ‧總覺得用底下的代碼,轉出來的影像與 Photoshop 轉出來的影像,不管色彩或質量,都有些許的落差。 ‧代碼要如何修改,才可得到比較高 JPEG 質量,請大俠幫忙,感謝! ‧元件版本為 HiComponents software ImageEn v3.1.2 [code cpp] //---------轉換TIFF To JEPG-------------------------------------------------- void __fastcall TMainForm::ConvertTiffToJpg(const UnicodeString ExistingFile,const UnicodeString TargetFolder) { UnicodeString JpgFileName = InsPathDelimiter(TargetFolder) ChangeFileExt(ExtractFileName(ExistingFile),L".JPG"); //載入 TIFF 影像檔 ImageEnIO1->LoadFromFileTIFF(ExistingFile); //設置影像解析度 ImageEnIO1->Params->Dpi = 72; ImageEnIO1->Params->FileType = ioJPEG; //一個像素使多少位元組(1,3,4) ImageEnIO1->Params->SamplesPerPixel = 4; //使用多少 bits 作為圖像空間(1,2..7,8,16,32) ImageEnIO1->Params->BitsPerSample = 8; //設置 JPEG 質量 ImageEnIO1->Params->JPEG_Quality = 100; ImageEnIO1->Params->JPEG_ColorSpace = ioJPEG_YCbCr; ImageEnIO1->Params->JPEG_CromaSubsampling = ioJPEG_NONE; ImageEnProc1->AttachedIEBitmap = ImageEnIO1->IEBitmap; //變更影像尺寸為 480/(-1=自動等比率) ImageEnProc1->Resample(480,-1,rfBicubic); ImageEnProc1->Update(); //ImageEnIO1->DoPreviews(TPreviewParams() << ppJPEG); //存入 JPEG 影像檔 ImageEnIO1->SaveToFileJpeg(JpgFileName); } [/code] |
GrandRURU
站務副站長 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
這應該是這元件內部演算的問題吧,如果有source就自己改改看
不然問作者或許會比較快一點 ===================引 用 g6101 文 章=================== 如題: ※來源影像描述 格式:TIFF 色彩:CMYK 解析:240(DPI) 尺寸:浮動(不固定) 用途:印刷(排版) ※目標影像描述 格式:JPEG 色彩:RGB 解析:72(DPI) 尺寸:寬=480 Pixel(固定)/高=(按寬等比縮放) 用途:互聯網(網頁) ‧總覺得用底下的代碼,轉出來的影像與 Photoshop 轉出來的影像,不管色彩或質量,都有些許的落差。 ‧代碼要如何修改,才可得到比較高 JPEG 質量,請大俠幫忙,感謝! ‧元件版本為 HiComponents software ImageEn v3.1.2 [code cpp] //---------轉換TIFF To JEPG-------------------------------------------------- void __fastcall TMainForm::ConvertTiffToJpg(const UnicodeString ExistingFile,const UnicodeString TargetFolder) { UnicodeString JpgFileName = InsPathDelimiter(TargetFolder) ChangeFileExt(ExtractFileName(ExistingFile),L".JPG"); //載入 TIFF 影像檔 ImageEnIO1->LoadFromFileTIFF(ExistingFile); //設置影像解析度 ImageEnIO1->Params->Dpi = 72; ImageEnIO1->Params->FileType = ioJPEG; //一個像素使多少位元組(1,3,4) ImageEnIO1->Params->SamplesPerPixel = 4; //使用多少 bits 作為圖像空間(1,2..7,8,16,32) ImageEnIO1->Params->BitsPerSample = 8; //設置 JPEG 質量 ImageEnIO1->Params->JPEG_Quality = 100; ImageEnIO1->Params->JPEG_ColorSpace = ioJPEG_YCbCr; ImageEnIO1->Params->JPEG_CromaSubsampling = ioJPEG_NONE; ImageEnProc1->AttachedIEBitmap = ImageEnIO1->IEBitmap; //變更影像尺寸為 480/(-1=自動等比率) ImageEnProc1->Resample(480,-1,rfBicubic); ImageEnProc1->Update(); //ImageEnIO1->DoPreviews(TPreviewParams() << ppJPEG); //存入 JPEG 影像檔 ImageEnIO1->SaveToFileJpeg(JpgFileName); } [/code] |
g6101
高階會員 發表:22 回覆:129 積分:110 註冊:2002-06-15 發送簡訊給我 |
|
ckc5168
一般會員 發表:3 回覆:10 積分:2 註冊:2002-08-30 發送簡訊給我 |
|
ckc5168
一般會員 發表:3 回覆:10 積分:2 註冊:2002-08-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |