程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi轉換圖像格式實現思路及分析

Delphi轉換圖像格式實現思路及分析

編輯:Delphi

Delphi轉換圖像格式,。如果圖像是BMP 格式文件,點擊“BMP 轉為灰度”按鈕,可以將原來是彩色的BMP 圖像轉換為灰色度的圖像,點擊“BMP 轉換成JPG”按鈕,將圖像格式轉換為JPG 格式,同時彈出對話框,保存轉換後的圖像。如果圖像是JPG 格式文件,點擊“JPG 轉換成BMP”按鈕,可以將JPG 格式的文件轉換成BMP 格式的文件,同時,彈出對話框,保存轉換後的圖像。其運行效果如下圖示:

Delphi轉換圖像格式

這個Delphi圖片格式轉換程序的設計思路:本例用到的控件主要是Image 控件、Panel 控件、OpenPictureDialog 控件、SavePictureDialog 控件和Button 控件等。BMP 格式是Windows 系統中標准的圖像文件格式,這種格式的文件具有極強的通用性。可是,BMP 格式圖像的一個突出缺點就是其文件占用的字節過於龐大。所以在以速度為第一的互聯網上,JPG 格式的圖像文件得到了廣泛的應用,它的文件大小僅是BMP 格式文件的1/10 左右,而圖像品質並沒有明顯的損失。在許多情況下,我們需要在BMP 和JPG 這兩種圖像格式之間進行轉換。圖像是由像素組成的,一幅彩色圖像包含了許多個像素,每個像素都包含三原色R、G、B,如果將單一的灰色賦值給彩色圖像的各個像素,彩色圖像就變成了灰色的黑白圖像。

設計步驟:

本程序主要分以下幾個部分來實現:(1)在窗體上放置各個控件,並設置它們的屬性;(2)添加打開圖像文件的功能,這利用OpenPictureDialog 的相關事件來實現;(3)實現彩色圖像轉換成黑白圖像,這需要利用函數to.Canvas.Pixels[i,j]來將單一的灰色賦值給彩色圖像的各個像素;(4)要實現BMP 和JPG 兩種圖像格式之間的轉換,這是最關鍵的一個問題。導入圖像文件後,針對導入圖像的不同的格式進行相關事件的響應,這需要用到uppercase()函數和IF 語句,在打開圖像文件之後進行文件的後綴名檢查,然後根據結果屏蔽相應的按鈕,保存轉換後的圖像文件利用SavePictureDialog 控件來完成。

1.新建工程

(1)啟動Delphi 6.0 程序。選擇“文件”菜單下的“新建”命令,從彈出的子菜單中選擇Application 選項,則出現新建工程的Form1 窗口。

(2)選擇“文件”菜單下的“工程另存為”命令,彈出Save Unit1 As 對話框。在“保存在”列表框中選擇需要存放該窗口文件所在的目錄名;在“文件名”編輯框中填寫文件名,這裡填寫“Unit1”,點擊“保存”按鈕,保存上面的選項。

(3)執行上一步後,將彈出“工程另存為”對話框。在“保存在”列表框中選擇需要存放該工程的目錄名,最好和第(2)步選取相同的目錄;在“文件名”編輯框中填寫保存處理該工程的源代碼的文件名,這裡填寫“Project1”,點擊“保存”按鈕,保存上面的選項。

2.修改窗口

(1)激活Unit1 窗口,在“屬性”面板中設置該窗體的Caption 屬性為“圖像格式轉換”,Name 屬性為“Form1”,BorderStyle 屬性為“bsSizeable”。

(2)選擇“標准”頁上的Panel 選項,在窗體中添加1 個Panel 控件,調整其合適的大小和位置。在“屬性”面板中設置BevelInner 和BevelOuter 屬性均為“bvLowered”,BorderStyle 屬性為“bsSingle”,BevelWidth 和BorderWidth 均為1,這樣Panel 控件看起來具有立體感。

(3)選擇“附加”頁上的Image 選項,在窗體中Panel1 控件上添加Image 控件,在“屬性”面板中設置其Name 為Image1,用鼠標點擊Picture 屬性右邊的按鈕,從彈出的對話框中選擇合適的圖像文件導入,設置其Align 屬性為“alClIEnt”,Stretch 屬性為“True”,使圖像撐滿整個Panel1 控件。

(4)選擇“對話框”頁上的OpenPictureDialog 和SavePictureDialog 選項,在窗體中添加OpenPictureDialog 控件和SavePictureDialog 控件。在“ 屬性” 面板中設置OpenPictureDialog 控件的Options 屬性為“[ofHideReadOnly,ofEnableSizing]”,Filters 屬性為“JPEG Image File (*.jpg)|*.jpg|Bitmaps (*.bmp)|*.bmp”,SavePictureDialog 控件屬性的設置與OpenPictureDialog 控件類似。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved