24bits bitmap 文件到256色bitmap 的转换
来源:互联网 发布:2016年淘宝开店押金 编辑:程序博客网 时间:2024/05/24 16:15
{**********************************************************}
{ }
{ 图象转换处理单元 }
{ 完成24bits bitmap 文件到256色bitmap 的转换 }
{**********************************************************}
//==========================================================
// 程序编写:陈林茂
// 编写日期:2002-06-28
// 联系作者:linmaochen@sohu.com
//==========================================================
//==========================================================
// 程序的功能: 完成BITMAP格式的图象到JPEG 格式图象的转换
// 程序转换的算法:利用TBITMAP,Tjpeg中的默认的方法进行转换
// 首先定义一BITMAP数据源,将图象文件调入到TBITMAP中;
// 然后定义一JPEG 数据源,将它的数据源定义来源于TBITMAP。
//===========================================================
unit bmpJpg_unit;
interface
Uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons,Jpeg;
//===========================================================
//函数的功能:将BITMAP格式的文件转换到JPG格式的文件
//函数名称: BMPTOJPG
//参数的说明:
// BMPFILE : 需要转换的BMP格式的文件
// JPGFILE : 转换为JPG格式的目的文件
// COMPRESS : 转换过程中文件的压缩比
//===========================================================
Function BmpToJpg(BmpFile :String; JpgFile :String;Compress :Integer):Boolean;
Function JpgToBmp(JpgFile :String; BmpFile :String;Compress :Integer):Boolean;
implementation
//将BMP图象转化为JPG图象
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;
begin
//将24位彩色图象转化为256色灰度图象
jpgFilename := _appPath +'temp.jpg';
bmpFilename := _appPath +'temp.bmp';
bmptojpg(srcfileName,jpgFilename,100);
jpgtoBmp(jpgfilename,bmpFilename,100);
//经过上面两个步骤,系统自动将24bits bmp 转换为256色bitmap,在delphi5.0下通过测试,只是有点遗憾的是,彩色位图会转化为灰度图象。srcfileName :为24bits BMP文件。
end.
- 24bits bitmap 文件到256色bitmap 的转换
- 24bits bitmap 文件到256色bitmap 的转换
- Bitmap到CBitmap的转换
- 存储BITMAP到文件
- 图片文件和Bitmap之间的转换
- bitmap和图片文件的转换
- Bitmap实现圆,保存Bitmap到文件
- Bitmap 存到文件中
- Android保存Bitmap到文件
- Bitmap以最省内存的方式获取本地资源,转换drawable到bitmap
- Bitmap转换到Drawable尺寸变小的解决方法
- Drawable、Bitmap、byte[]之间的转换 Bitmap转换成InputStream。
- Bitmap与Drawable、byte[]、图片资源、图片文件的转换
- 本地资源的图片文件 转换成bitmap
- bitmap 与drawable的转换
- Bitmap和Drawable的转换
- Bitmap和YUV的转换
- Drawable和Bitmap的转换
- vs2005应用之GridView(转载GridView 72般绝技-作者:清清月儿)
- Delphi下常用转换
- linux c start
- Delphi常见图象格式转换技术
- Delphi常见图象格式转换技术(二)
- 24bits bitmap 文件到256色bitmap 的转换
- SQL Server 2008精妙之处
- Self Print in C++
- RHCE考前笔记
- C#的6种常用集合类区别(比较)
- SQL Server 2008第二个CTP预览版
- scintilla笔记(一)编译
- 耶鲁精英骷髅会 掌控美国的黑色心脏
- SQL Server 2008:传递表值参数