用bmp格式是绝对可以的,但是用jpg格式却不行?
哪位高手可以帮我解决呀?重重有赏!!!

解决方案 »

  1.   

    你可以转换,把Jpeg转换为BMP
    procedure TForm1.FormPaint(Sender: TObject);
    var
     mBitMap:TBitMap;
     nDC:HDC;
     mRecT:TRect;
    begin
     mBitMap:=TBitmap.Create;
     mBitMap.Assign(Image1.Picture.Graphic);
     StretchBlt(Canvas.Handle,0,0,Width,Height,mBitMap.Canvas.Handle,
      0,0,mBitMap.Width,mBitMap.Height,SRCCopy);
     //BitBlt(Canvas.Handle,0,0,Width,Height,mBitMap.Canvas.Handle,0,0,SRCCOPY);
     mBitMap.Free;end;
      

  2.   

    呵呵,程序不会很大
    因为用的都是Windows API.
      

  3.   

    我现在想直接画jpg格式的背景图哦!
      

  4.   

    我试过如果bmp图片很大的话,程序也相应变得很大!
      

  5.   

    你说的是程序大小?
    那确实是这样的,所以不到万一不要用BMP,不过我教你减肥的方法,你可以用PhotoShop6.0以上版本用Save For Web把位图存为Gif(记住模式为Index),然后保存,接着用ACDSee把它存回位图,那就成了。
    实在不成,就用压缩工具ASPack.
    你说的是在内存中占用的资源?
    呵呵,没用,位图创建后就删除了
      

  6.   

    你随便给
    以下是我的email:[email protected](游戏沙罗曼蛇玩过没有?)
    如果要帮助的话,我一定尽力
      

  7.   

    为什么一定是5分制?我一人就解决了。uses
      Jpeg;procedure Form1.FormCreate(Sender: TObject);
    var
      jpg: TJpegImage;
    begin
      jpg := TJPEGImage.Create;
      jpg.LoadFromFile( jpgFileName );
       // 如果你想从资源中读可以用TResourceStream配合jpg.LoadFromStream
      Brush.Bitmap := TBitmap.Create;
      Brush.Bitmap.Assign( jpg );
      jpg.Free;
    end;
      

  8.   

    呵呵,确实他们的方法好一些
    主要是我做SDK做的太久了