⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 covertbmp.pas

📁 将图像转换为传真文件
💻 PAS
字号:
unit CovertBmp;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Menus, ActnList,jpeg,math,extctrls;
type
   TBMInfo = record
       bmType,                    //Bitmap类型
       bmWidth,                   //图像宽度(像素值)
       bmHeight,                  //图像高度(像素值)
       bmWidthBytes: longint;     //每条扫描线指定的字节数
       bmPlanes,                  //指定颜色位
       bmBitsPixel: word;          //色彩值
     //bmBits;                     //指向位图值地址
     end;
Function CheckBmp(image: TImage;SourceName:string):Integer;
function ConvertToBmp(image1:Timage;DestionName:String):string;
implementation
Function CheckBmp(image: TImage;SourceName:string):Integer;

var
   bmInfo:TBMInfo;
   bmp:TBitmap;
   Ext:String;
begin
  if not FileExists(SourceName) then
  begin
     result:=-1;
     exit;
  end;
  Ext:=LowerCase(ExtractFileExt(SourceName));
  if Ext='.bmp' then
  begin
  Screen.Cursor := crHourGlass;
  try
    image.Picture.LoadFromFile(SourceName);
    Image.top:=0;
    Image.left:=0;
    if Image.Picture.Graphic is TJPEGImage then
    begin
       bmp:=TBitmap.Create;
       bmp.Assign(TJPEGImage(Image.Picture.Graphic));
    end
    else bmp:=Image.Picture.Bitmap;
    GetObject(bmp.Handle,SizeOf(bmInfo),@bmInfo);
    case bmInfo.bmBitsPixel of
       24: result:=24;
       16: result:=16;
    else result:=Trunc(IntPower(2,bmInfo.bmBitsPixel));
    end;
    if(Image.Picture.Graphic is TJPEGImage) then bmp.free;
  finally
    Screen.Cursor := crDefault;
  end;
 end else Result:=-1;
end;
function ConvertToBmp(image1:Timage;DestionName:String):string;
var
   bmp:TBitmap;
   i:integer;
   Picture:TPicture;
begin
//   Picture:= TPicture.Create;
   try
      bmp := TBitmap.Create;
      image1.Picture.LoadFromFile(DestionName);
      Picture:=image1.Picture;
     if ( Picture.Graphic is TBitmap) then
     begin
       with Bmp do
        begin
            Width := Picture.Width;
            Height := Picture.Height;
            PixelFormat := pf8Bit;
            Canvas.Draw(0, 0, Picture.Graphic);
        end;
        Picture.Bitmap.Assign(Bmp);
        i:=Pos('.',DestionName);
         bmp.SaveToFile(Copy(DestionName,1,i-1)+'.Bmp');
     end else if Picture.Graphic is TJPEGImage then
     begin
         bmp:=TBitmap.create;
         bmp.Assign(TJPEGImage(Picture.Graphic));
         bmp.PixelFormat:=pf8bit;
         i:=Pos('.',DestionName);
         bmp.SaveToFile(Copy(DestionName,1,i-1)+'.Bmp');
         result:=Copy(DestionName,1,i-1)+'.Bmp';
         bmp.free;
         result:=Copy(DestionName,1,i-1)+'.Bmp';
    end;
    except
 end;
end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -