在DELPHI中圖片轉換
原來只是從oracle中取出圖片,沒有做過圖片的轉換。正好有公安局提出能否將相片轉換為單色圖片做臨時證用。回家後,查詢點資料,實現還比較簡單。現總結如下:
[@more@]原來只是從oracle中取出圖片,沒有做過圖片的轉換。正好有公安局提出能否將相片轉換為單色圖片做臨時證用。回家後,查詢點資料,實現還比較簡單。現總結如下:
Function BmpToJpg(BmpFile :String; JpgFile :String;Compress :Integer):Boolean;
Var
Bitmap :TBitmap;
Jpgimage :TjpegImage;
Begin
Result :=False;
Try
bitmap :=TBitmap.Create ;
JpgImage :=TjpegImage.Create ;
bitmap.LoadFromFile(BmpFile);
jpgImage.CompressionQuality :=Compress;
JpgImage.Performance :=jpBestQuality;
jpgImage.Grayscale :=True;
jpgImage.Smoothing :=True;
JpgImage.Assign(Bitmap);
JpgImage.Compress ;
JpgImage.SaveToFile(JpgFile);
Result :=True;
Except
End;
Bitmap.Free;
JpgImage.Free ;
End;
//將JPG圖象轉化為256色的BMP圖象
Function JpgtoBmp(JpgFile :String; BmpFile :String;Compress :Integer):Boolean;
Var
Bitmap :TBitmap;
Jpgimage :TjpegImage;
Begin
Result :=False;
Try
bitmap :=TBitmap.Create ;
JpgImage :=TjpegImage.Create ;
jpgImage.LoadFromFile(JpgFile);
JpgImage.Performance :=jpBestQuality;
jpgImage.Grayscale :=True;
jpgImage.Smoothing :=True; bitmap.Assign(jpgImage);
bitmap.Dormant ;
bitmap.SaveToFile(bmpfile);
Result :=True;
Except
End;
Bitmap.Free;
JpgImage.Free ;
End;
還有一個老外的解決方法:
Question/Problem/Abstract:
I had some trouble to save a permanent grayscaled Jpg because the Grayscale property of the TJpeg is only a visual property.
So here some small code that did the trick for me. There might be more efficient solutions.
Answer:
MyJPG01 => original
MyBMP => help var
MyJPG02 => grayscaled JPG
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Result := false;
TRY //Finally
TRY //Except
// create some stuff
MyJpg01 := TJPEGImage.Create;
MyJpg02 := TJPEGImage.Create;
MyBMP := TBitmap.Create;
// LOAD JPG-file
MyJpg01.OnProgress := ProgressPercent;
ProgressBar_Processing.Position := 0;
MyJpg01.Grayscale := true;
MyJpg01.LoadFromFile( FileName_IN );
// TO BMP TO MAKE PROPERTIES PERMANENT
MyBMP.Width := MyJpg01.Width;
MyBMP.Height := MyJpg01.Height;
MyBMP.Canvas.Draw(0,0, MyJpg01);
// BACK JPG
MyJpg02.OnProgress := ProgressPercent;
ProgressBar_Processing.Position := 0;
MyJpg02.CompressionQuality := 80; // as an example
MyJpg02.Assign(MyBmp);
MyJpg02.SaveToFile( FileName_OUT );
Result := true;
EXCEPT
Panel_ERR.Caption := 'Error on convert ' + FileName_OUT;
Result := False;
END; //Except
FINALLY
MyJpg01.Free;
MyJpg02.Free;
MyBMP.Free;
ProgressBar_Processing.Position := 0;
END; // Finnaly
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271063/viewspace-826233/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 圖片格式轉換,JPG圖片轉換成PDF
- 從Delphi到Lazarus——Delphi轉換器
- js圖片 轉換JS
- 圖片轉換文字appAPP
- Android 中 Base64 轉換成 圖片Android
- 圖片怎麼轉換成PDF,圖片轉PDF教程
- 圖片格式怎麼轉換,如何轉換jpg
- PythonGUI工具 圖片大小轉換PythonNGUI
- heic圖片轉換格式怎麼轉?
- 怎麼轉換圖片格式並壓縮圖片
- PDF 轉換圖片然後識別圖片內容
- C++圖片格式轉換:BMP轉JPEGC++
- 如何將圖片轉換成影片?
- 圖片heic怎麼轉換jpg?
- 如何將圖片轉word?圖文轉換選轉易俠
- 開源圖片工具箱(Img Toolbox) 格式轉換 新增水印 圖片壓縮 圖片裁剪 圖片旋轉 圖片縮放
- JPG轉CAD,JPG圖片如何轉換成CAD圖紙?
- 如何把圖片轉換成文字?轉換工具用哪個?
- Java實現emf轉jpg png 圖片轉換Java
- 圖片轉換成文字線上能轉嗎?
- 圖片轉換成文字怎麼轉?一鍵轉換看這裡
- 教程:怎麼轉換heic格式圖片
- WidsMob ImageConvert for Mac 圖片格式轉換器Mac
- Python 在Excel中插入、替換、提取、或刪除圖片PythonExcel
- delphi:string,PChar,Array of Char 之間的轉換
- 把圖片轉換成CAD圖紙該如何操作?
- 哪個圖片識別文字app能快速轉換圖片成文字?APP
- 微信圖片轉換成文字的方法
- PicConvert for mac超級圖片轉換軟體Mac
- 怎麼把圖片文字轉換成word?
- 如何將heic格式轉換成jpg圖片?
- FoneLab HEIC Converter Mac(HEIC圖片轉換器)Mac
- python批量ppt轉圖片,pdf轉圖片,word轉圖片指令碼Python指令碼
- 利用百度AI OCR圖片識別,Java實現PDF中的圖片轉換成文字AIJava
- 將bmp檔案轉換成JPEG(待修改,目前可轉換但圖片倒轉)
- 圖片格式轉換器有什麼,怎麼無損轉換heic格式
- 在matlab中如何將圖片(png和jpg)轉成mat格式Matlab
- python編寫圖片主色轉換指令碼Python指令碼
- 用手機怎麼把圖片轉換成PDF