zoukankan      html  css  js  c++  java
  • Delphi 把一个ICO转换为BMP

    // 方法1
    var
      Icon  : TIcon;
      Bitmap : TBitmap;
    begin
       Icon  := TIcon.Create;
       Bitmap := TBitmap.Create;
       Icon.LoadFromFile('c:picture.ico'); //Load an ICO
    from File
       Bitmap.Width := Icon.Width;
       Bitmap.Height := Icon.Height;
       Bitmap.Canvas.Draw(0, 0, Icon );
       Bitmap.SaveToFile('c:picture.bmp'); //Convert ICO to
    BMP!
       Icon.Free;
       Bitmap.Free;
    end;
    
    // 方法2
    procedure TForm1.ConvertClick(Sender: TObject);
    var
      winDC, srcdc, destdc : HDC;
      oldBitmap : HBitmap;
      iinfo : TICONINFO;
    begin
     GetIconInfo(Image1.Picture.Icon.Handle, iinfo);
     WinDC := getDC(handle);
     srcDC := CreateCompatibleDC(WinDC);
     destDC := CreateCompatibleDC(WinDC);
     oldBitmap := SelectObject(destDC, iinfo.hbmColor);
     oldBitmap := SelectObject(srcDC, iinfo.hbmMask);
     BitBlt(destdc, 0, 0,
    Image1.picture.icon.width,Image1.picture.icon.height,srcdc,
    0, 0, SRCPAINT);
     Image2.picture.bitmap.handle := SelectObject(destDC,
    oldBitmap);
     DeleteDC(destDC);
     DeleteDC(srcDC);
     DeleteDC(WinDC);
     image2.Picture.Bitmap.savetofile(ExtractFilePath(Applicat
    ion.ExeName)+ 'myfile.bmp');
    end;
    procedure TForm1.FormCreate(Sender: TObject);
    begin
     image1.picture.icon.loadfromfile('c:myicon.ico');
    end;

    http://blog.csdn.net/yanjiaye520/article/details/6676215

  • 相关阅读:
    mysql插入中文数据变成问号怎么处理
    项目第二阶段
    项目第一阶段
    项目测试
    常用mysql操作
    常用的mysql操作
    mysql操作
    土地档案管理系统需求分析
    土地档案管理系统架构图,ER图,用例图
    Load data local infile
  • 原文地址:https://www.cnblogs.com/findumars/p/4999182.html
Copyright © 2011-2022 走看看