cxImage içinde png gösterme sorunu hakkında (ÇÖZÜLDÜ)

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

cxImage içinde png gösterme sorunu hakkında (ÇÖZÜLDÜ)

Mesaj gönderen adelphiforumz »

S.A.

Delphi 2007 de cxImage içerisinde diske kayıt edilmiş bir png dosyasını sorun olmadan gösteriyor
fakat url üzerinden aldığım ve TStream olarak işlediğim bir resmi
cxImage1.Picture.Graphic.LoadFromStream(S);
dediğimde gösteremiyor bunun nedenini bilen varmıdır acaba

Teşekkürler;
En son adelphiforumz tarafından 04 May 2015 05:14 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: cxImage içinde png gösterme sorunu hakkında [ÇÖZÜLDÜ]

Mesaj gönderen adelphiforumz »

Aşağıdaki gibi bir fonksiyon yazdım
belki birine daha lazım olur ilerde diye burayada ekledim.

Kod: Tümünü seç

  cxImage1.Picture.Graphic := fn_ResimYukleURL('http://xxxxxx.png', 'PNG');

Kod: Tümünü seç

function TFrmMain.fn_ResimYukleURL(_sUrl, _sExt:String):TGraphic;
  var
    _MemoryStream: TMemoryStream;
    _ImagePNG:  TdxPNGImage;
    _ImageJPEG: TdxJPEGImage;
    _ImageBMP:  TdxBMPImage;
    _ImageGIF:  TdxGIFImage;
    _ImageTIFF: TdxTIFFImage;
    _IdHTTP: TIdHTTP;
    _cxImage : TcxImage;
begin
    _MemoryStream := TMemoryStream.Create;
    _IdHTTP := TIdHTTP.Create(nil);
    _cxImage := TcxImage.Create(nil);
    _cxImage.Picture.Graphic := nil;

    try
      _IdHTTP.Get(_sUrl, _MemoryStream);

      _MemoryStream.Position := 0;

      if UpperCase(_sExt) = 'PNG' then
      begin
        _ImagePNG := TdxPNGImage.Create;
        _ImagePNG.LoadFromStream(_MemoryStream);
        _cxImage.Picture.Graphic := _ImagePNG;
      end;

      if ((UpperCase(_sExt) = 'JPEG') or (UpperCase(_sExt) = 'JPG') ) then
      begin
        _ImageJPEG := TdxJPEGImage.Create;
        _ImageJPEG.LoadFromStream(_MemoryStream);
        _cxImage.Picture.Graphic := _ImageJPEG;
      end;

      if UpperCase(_sExt) = 'BMP' then
      begin
        _ImageBMP := TdxBMPImage.Create;
        _ImageBMP.LoadFromStream(_MemoryStream);
        _cxImage.Picture.Graphic := _ImageBMP;
      end;

      if UpperCase(_sExt) = 'GIF' then
      begin
        _ImageGIF := TdxGIFImage.Create;
        _ImageGIF.LoadFromStream(_MemoryStream);
        _cxImage.Picture.Graphic := _ImageGIF;
      end;

      if ((UpperCase(_sExt) = 'TIFF') or (UpperCase(_sExt) = 'TIF') ) then
      begin
        _ImageTIFF := TdxTIFFImage.Create;
        _ImageTIFF.LoadFromStream(_MemoryStream);
        _cxImage.Picture.Graphic := _ImageTIFF;
      end;
    except
    end;

    _MemoryStream.Free;
    _ImagePNG.Free;
    _IdHTTP.Free;

    Result := _cxImage.Picture.Graphic;
end;
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Cevapla