res dosyasını c:\test.bmp diye kaydediyrm,resim gözükmüyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
huseyinkucuk
Üye
Mesajlar: 142
Kayıt: 29 Nis 2005 10:03
Konum: İstanbul
İletişim:

res dosyasını c:\test.bmp diye kaydediyrm,resim gözükmüyor

Mesaj gönderen huseyinkucuk »

implementation

{$R *.dfm}
{$R test.res}

procedure TForm1.Button1Click(Sender: TObject);
var
KaynakAkisNesnesi:TResourceStream;
begin
KaynakAkisNesnesi:=TResourceStream.Create(HInstance,'#1',RT_BITMAP);
try
kaynakakisnesnesi.SaveToFile('c:\deneme.bmp');
finally
kaynakakisnesnesi.Free;
end;
end;

delphi'nin 'image editör'ünde bir tane 'res' dosyası yaptım, sonra içine de 3 tane resim çizdim (bitmap, 101, 3, 6 kb büyüklükte olmak üzere) ve isimlerini de 1, 2 ve 3 diye verdim. Yukarıda görüldüğü gibi 1. olanı c:\deneme.bmp diye kaydediyorum. Sonuç olarak kaydoluyor da, hem de boyutuna baktığımızda 101 kb. olduğunu da görüyoruz. Ama resimi açamıyorum... 'windows resim ve fax göstericisi' "önizleme yok" diyo, 'paint' de "paint bu dosyayı okuyamıyor. Bu geçerli bir bitmap dosyası değil" gibi bişey diyor. Niye böyle acaba... Teşekkürler, herkese kolay gelsin...
29.04.2005 tarihi itibariyle Delphi öğrenmeye başlayan yeni bir kullanıcı sayılabilirim.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

söyle bir sey deneyelim.
önce bir TImage create et ve degiskenden buna yüklet. daha sonra TImage icin savetofile de. belki degisen bir sey olabilir.

bu arada #1 kullanmissin bu indexleme ile ilgili benim bilmedigim bir sey mi? merak ettim!
kıdemsiz üye
Kullanıcı avatarı
huseyinkucuk
Üye
Mesajlar: 142
Kayıt: 29 Nis 2005 10:03
Konum: İstanbul
İletişim:

Mesaj gönderen huseyinkucuk »

hocam olmadı ya... timage nesnesi koydum bi tane... bunun loadfromstream özelliği yokmuş, ben de ilk önce tresourcestream.savefromfile('c:\deneme.bmp') yaptım, sonra tresourcestream.free; timage.loadfromfile('c:\deneme.bmp') yaptım, yine yükleyemiyo ordan resmi. Ama resim orda olması gereken boyutuyla duruyo. Bu arada #numara diye kullanım şöyle oluyomuş (ben de yeni öğreniyorum tabi bu konuları), resimlere 1, 2, 3... diye numara verirsek #1, #2, #3 diye çağırabiliyomuşuz ve böyle olunca daha hızlı bi uygulama oluyomuş. Ben kitabın yalancısıyım (Tansu Türkoğlu, Delphi ve Veri Tabanı). Noolur derdime derman...
29.04.2005 tarihi itibariyle Delphi öğrenmeye başlayan yeni bir kullanıcı sayılabilirim.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

image1.Picture.Bitmap.LoadFromStream();

bu sekilde TImage i stream dan yükleyebilirsin. sonra da image1.savetofile dene bakalim.

kolay gelsin
kıdemsiz üye
Kullanıcı avatarı
huseyinkucuk
Üye
Mesajlar: 142
Kayıt: 29 Nis 2005 10:03
Konum: İstanbul
İletişim:

Mesaj gönderen huseyinkucuk »

hocam, denedem, olmuyor ya... Ben de takıldım kaldım burda... Nerde yanlış yapıyorum ki? Bi de şöyle yaptım: bi tane tfilestream nesnesi yaptım ve tfilestreamnesnesi.copyfrom(tresourceakisnesnesi); yaptım (tabi öncesinde tfilestremnesnesi'ni create ettim ('c:\deneme.bmp',fmopen or fmcreate)). sonuçta dosya oluşuyo ama açılmıyo işte... Ben niye yapamıyorum ya bu işleri? :( Herkese kolay gelsin...
29.04.2005 tarihi itibariyle Delphi öğrenmeye başlayan yeni bir kullanıcı sayılabilirim.
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

bence yapmak istediğini tam olarak anlatırsan...ben anlayamadım
Siz hayal edin...Biz yapalım TuannaSoft...
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

abicim
rc dosyasini yeniden olusturalim.
isim rcdata "c:\mybmp.bmp"
daha sonra tekrar brcc32 ile compile edelim.
bir TImage nesnesi atalim formun üzerine ve buton ile bu image yi stream ile dolduralim. daha sonra bakalim sectigimiz image TImage nesnesinin icinde görünüyor mu?
görünüyor ise ikinci bir buton ile iki sey deneyecegiz
1.) image1.picture.savetofile
2.) image1.picture.bitmap.savetofile

iksinden biri muhakkak olmali!
umarim yanlis bilgilendirmemisim dir.
basarilar.
Kullanıcı avatarı
huseyinkucuk
Üye
Mesajlar: 142
Kayıt: 29 Nis 2005 10:03
Konum: İstanbul
İletişim:

Mesaj gönderen huseyinkucuk »

abi tamam buldum, aynen senin dediğin gibi... Ben .res dosyasını 'borland image editor' ile yapıyodum, onda yapınca olmuyomuş meğerse... Delphi forum offlineyi indirip aradım biraz, husonet'in bi yazısını buldum, oraya link vermiş: viewtopic.php?t=1340&highlight=avi orda da aynen senin anlattığın gibi yazıyodu... ben de brcc32 ile yaptım, bu sefer oldu. Çok sağol yardımların için... Kolay gelsin...
29.04.2005 tarihi itibariyle Delphi öğrenmeye başlayan yeni bir kullanıcı sayılabilirim.
Kullanıcı avatarı
huseyinkucuk
Üye
Mesajlar: 142
Kayıt: 29 Nis 2005 10:03
Konum: İstanbul
İletişim:

Mesaj gönderen huseyinkucuk »

...ama ben bu durumda sadece bi tane resim (veya başka bi dosya) gömebiliyorum... :( Birden çok dosya gömmek için ne yapmam gerekir, yardımcı olursanız müteşekkir olurum... Kolay gelsin...
29.04.2005 tarihi itibariyle Delphi öğrenmeye başlayan yeni bir kullanıcı sayılabilirim.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

estagfurullah. yardimci olabildiysem ne mutlu bana.

birden fazla dosya gömmek icin yine ayni taktigi kullaniyoruz.

Kod: Tümünü seç

isim rcdata "c:\mybmp.bmp"
isim2 rcdata "c:\mybmp2.bmp"
isim3 rcdata "c:\mybmp3.bmp"
ve resimleri yüklerken de resourcestring icin isim, isim2, isim3 seklinde veriyorsun. hangi resmi almasi gerektigini bu sekilde bildiriyorsun.

Kod: Tümünü seç

TResourceStream.Create(hinstance,'isim',RT_Bitmap)
umarim bu sefer hallolur.
kolay gelsin!
Kullanıcı avatarı
huseyinkucuk
Üye
Mesajlar: 142
Kayıt: 29 Nis 2005 10:03
Konum: İstanbul
İletişim:

Teşekkürler...

Mesaj gönderen huseyinkucuk »

hocam, Allah razı olsun... Çok teşekkür ederim... Bu sefer tam oldu...
Ben farklı RES dosyaları yaparak (her birinde bir dosya olmak şartıyla) tek tek {$R dosya.res} yaparak kısmen halletmiştim, ama senin gösterdiğin yol aradığım çözümdü. Teşekkür ediyorum, kolay gelsin...
29.04.2005 tarihi itibariyle Delphi öğrenmeye başlayan yeni bir kullanıcı sayılabilirim.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

ecmain insaAllah.
basarilar...
Kullanıcı avatarı
Trial_Cooder
Üye
Mesajlar: 236
Kayıt: 17 Nis 2006 04:44

Mesaj gönderen Trial_Cooder »

SaveDialog'un Filterine .bmp Ekledinmi?
Cevapla