2009-06-11 103 views
-2

我想開發一個可以將圖像轉換爲文本格式(一些ASCII格式)和文本轉換爲圖像格式的應用程序。我想要這個,因爲我需要減小圖像文件的大小。 任何建議plz。 在此先感謝,易卜拉欣 。如何將圖像轉換成文本和圖像到wpf + c#

+1

爲什麼不壓縮圖像,然後在需要時解壓縮它們? – RCIX 2009-06-11 06:56:47

+0

當你說轉換和圖像爲文本格式,你在說光學字符識別(OCR)? – 2009-06-11 09:05:40

回答

1

當您說您希望縮小圖像大小時,是否表示您希望縮小圖像文件大小或減小顯示屏上顯示的尺寸?

如果您希望縮小文件大小,那麼將其轉換爲ASCII文件將無濟於事。相反,你需要壓縮它。 (說通過轉換位圖爲JPEG)。

編輯基於您的評論

。我建議您查看JpegBitmapDecoder和JpegBitmapEncoder類,將jpeg文件解碼爲位圖,然後從一開始就用不同的valkues編碼位圖。

Microsoft info

也看看這裏的更多信息,包括如何覆蓋的75%的默認壓縮 More info

2

其實,當你將圖像轉換爲文本,你會增加的大小,而不是降低它!原因很簡單:如果您以二進制格式存儲圖像,則可以使用一個字節的完整值範圍來存儲圖像。當使用文本格式時,值範圍限制爲26個大寫字符,26個小寫字符,10個數字和一堆特殊字符,但它將遠遠小於二進制模式下的256個值。

通常使用UUEncoding來完成二進制轉換爲文本並返回。這是一個編碼系統,仍然能夠生成合理的小文本流,這是一個很好的標準,已經在很多地方使用過,並且擁有大量用於數十種語言的庫。 UUEncoding使用64個不同的字符,因此每3個字節的二進制數據被轉換爲4個字符。 (增加三分之一)

要使您的二進制圖像更小,請使用不同的圖像格式,如JPG或PNG。 JPG是建議照片的質量損失不是一個大問題。當圖像質量必須很高或圖像具有一些透明部分時,通常會使用PNG。如果您的原始圖像是BMP,那麼將其轉換爲PNG,然後對PNG文件進行UUE編碼將導致文件大小顯着縮小。 (但是這是因爲PNG壓縮,而不是編碼。)

0

如果您要識別圖像中的字母並將其轉換爲文本,那麼OCR libraries之一怎麼樣?