中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Visual C++ > 综合文章
24bits bitmap 文件到256色bitmap 的转换
作者:未知 时间:2003-03-31 12:12 出处:Blog 责编:chinaitpower
              摘要:24bits bitmap 文件到256色bitmap 的转换

{**********************************************************}
{                                                                                                      }
{                      图象转换处理单元                                                    }
{                    完成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.

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有