我在EXCEL里面有好多图片,我想实现
   我在EXCEL里面把图片复制,然后用delphi做的程序复制到IMAGE.PICTURE;然后在保存为JPG文件;
   我试过用
image1.picture.Assign(Clipboard);
image1.Picture.savetofile('c:\1.jpg');
这个都好像没问题;但如果再用以下语句读取保存好的1.JPG就有问题了,
image1.Picture.LoadFromFile('c:\1.jpg');
不知道是不是从EXCEL文件出来的剪贴板 保存出来的格式都不是jpg 或bmp,大家帮帮忙啊

解决方案 »

  1.   


    procedure TForm1.Button2Click(Sender: TObject);
    begin
    image1.picture.Bitmap.Assign(Clipboard);
    image1.Picture.Bitmap.SaveToFile('c:\1.jpg');//确认剪贴板里是JPG格式图片就用.jpg
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      image1.Picture.Bitmap.LoadFromFile('c:\1.jpg');
    end;
      

  2.   

    承上:上面只是凑合地实现楼主的要求. 如果要真正无误, 还需要TBitmap-->TJPeg的转换,比较麻烦(对我来说).
      

  3.   

    呵呵 试过啦
    image1.picture.Bitmap.Assign(Clipboard); 到这里已经提示
    "unsupported clipboard format"
      

  4.   

    最简单地报 "unsupported clipboard format" 这个错的测试方法,就是: 把一段文本放入剪贴板, 然后运行上面的代码. 那样就会出错.  谢谢. bye
      

  5.   

    uses clipbrd, Jpeg;
    {$R *.dfm}var
      Jpg : TJpegImage;procedure TForm1.Button2Click(Sender: TObject);
    begin
      image1.picture.Assign(Clipboard);
      if jpg<>nil then jpg:=nil;
      Jpg := TJpegImage.Create;
      Jpg.Assign(image1.Picture.Bitmap);
      Jpg.SaveToFile('c:\1.jpg');
      Jpg.Free;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      image1.Picture.LoadFromFile('c:\1.jpg');
    end;
      

  6.   

    不好意思,上面的有错,用下面的试一下吧。看楼主一直没有解决这个问题,我就现学了一下。发现TBitmap与TJpegImage相互转换很容易的。implementation
    uses clipbrd, Jpeg;
    {$R *.dfm}var
      Jpg : TJpegImage;
      Bmp : TBitmap;procedure TForm1.Button1Click(Sender: TObject);
    begin
      if Bmp<> nil then Bmp:=nil;
      Bmp := TBitmap.Create;
      Bmp.Assign(Clipboard);
      image1.Picture.Bitmap := Bmp;
      Bmp.Free;  if jpg<>nil then jpg:=nil;
      Jpg := TJpegImage.Create;
      Jpg.Assign(image1.Picture.Bitmap);
      Jpg.SaveToFile('c:\1.jpg');
      Jpg.Free;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      image1.Picture.LoadFromFile('c:\1.jpg');
    end;
      

  7.   

    估计楼主是在uses里面少加了Jpeg了吧,偶也遇到过...
      

  8.   

    lihuasoft(一九七五)(::我业余,所说仅供参考)  两个帖子都是你回 hehe
    呵呵 好像成了,不过还有的就是:
    假如我是在EXCEL把图片复制到剪贴板去的话,如果这样处理还是不行
    不过现在也可以勉强使用,先把excel里的图片复制到剪贴板去,然后再在WINDOWS的“画图”里再粘贴,然后点粘贴出来的图块,然后再复制,
    再用lihuasoft(一九七五)(::我业余,所说仅供参考) 说的就可以使用。
    就是没有办法可以直接把EXCEL的图片用程序保存成JPG文件。
    今晚23点结贴,没人来更好的就是lihuasoft兄弟得分啦???
      

  9.   

    Excel支持很多种图形格式,未必就是Bitmap,也可能是JPEG、WMF、TIF、PCX等等。
    你要先判断剪贴板格式才行。
      

  10.   

    有什么方法可以判断哈 , 据做这个EXCEL的人说是JPG