程序里用的是TIMAGE32,装载大的(3M以上)JPG时显示是乱的,BMP好象没有问题。我用TIMAGE试了,也是一样的效果。各位高手是如何解决这个问题的啊?

解决方案 »

  1.   

    我转换成BMP后也是一样的效果
      

  2.   

    我用WINDOWS的画图程序转换成BMP后有7M多
      

  3.   

    我打开过很大的bmp都没事呀,就是具具具具具满,时不常的还会报错.据说有人把jpg读取时转成bmp,然后再内存里分块读取.uses里加入JPeg.然后就可以用转换了function  G_JPegToBMP(JPeg:TJPegImage ):TBitmap;
    var Bmp: TBitmap;
    begin
    //  JPeg := TJPegImage.Create;
    //  JPeg.LoadFromFile(jpegfilename);
      Bmp := TBitmap.Create;
      Bmp.Width := JPeg.Width;
      Bmp.Height := JPeg.Height;
      Bmp.Canvas.Draw(0, 0, JPeg);
    //  Bmp.SaveToFile(bmpfilename);
    result:=Bmp;
    //  Bmp.Free;
    end;
    function G_BMPToJPeg(Bmp: TBitmap):TJPegImage;
    var
      JPeg: TJPegImage;
    //  Bmp: TBitmap;
    begin
    //  Bmp := TBitmap.Create;
    //  Bmp.LoadFromFile(bmpfilename);
      JPeg := TJPegimage.Create;
      JPeg.Assign(Bmp);
    //  JPeg.SaveToFile(jpegfilename);
    result:=JPeg;
    //  JPeg.Free;
    end;---具体的找吧,有很多例子,至于分块读取,没试过,但是确实有