Önceki başlık :: Sonraki başlık |
Yazar |
Mesaj |
MD-C
Kayıt: Feb 26, 2003 Mesajlar: 1258 Nereden: Dünya.Türkiye(54)
|
Tarih: Tue Apr 13, 2004 2:47 pm Mesaj konusu: |
|
|
Sitede Dokümanlar -> Oyun Yapımı Genel; kısmında BMP Kütük formatı ismindeki dökümanı inceledikten sonra çalıştırma dürtüsüyle kodları kopyala-yapıştır metodu kullanarak MS VC++ aktardıktan sonra Derledim ve ilk hata:
BitmapHeader'ın tanımlanmadığı oldu, bende hemen vazgeçmedim ve baktığımda aslında bu yapının adı; BitmapHeader değil sBitmapHeader olduğu.... Zatende BitmapHeader bildirimi sBitmapHeader diye yapılmış yani s'nin eklenlenmesi unutulmuş....
Neyse en önemli ve çözemediğim olay:
Her ne yaparsam yapayım; fp = fopen("ornek.bmp","br"); satırının NULL ile dönmesi... Dosya olduğu halde 0000000 ile dönüyor.... Bu nu yeni C++ standardı ile denedim dosyayı okudu... fakat C yapısındaki File IO ile olmuyor?
[ Bu mesajı düzenleyen: MD-C _FIL 13-04-2004 15:50 ] |
|
Başa dön |
|
|
ferit
Kayıt: Oct 17, 2003 Mesajlar: 1403 Nereden: Jandarma
|
Tarih: Tue Apr 13, 2004 2:53 pm Mesaj konusu: |
|
|
belki path den dolayidir. ben fp= fopen("c:\abucubu.bmp","fp"); yaptim bi sorun yok gibi.. |
|
Başa dön |
|
|
MD-C
Kayıt: Feb 26, 2003 Mesajlar: 1258 Nereden: Dünya.Türkiye(54)
|
Tarih: Tue Apr 13, 2004 2:59 pm Mesaj konusu: |
|
|
Quote:
|
On 2004-04-13 15:53, ferit wrote:
belki path den dolayidir. ben fp= fopen("c:abucubu.bmp","fp"); yaptim bi sorun yok gibi..
|
|
yok yaaa: olurmu resim ile *.exe aynı dizinde böyle bir şeye ihtiyaç yok |
|
Başa dön |
|
|
deniz Site Yöneticisi
Kayıt: Sep 14, 2002 Mesajlar: 838 Nereden: Ankara
|
Tarih: Tue Apr 13, 2004 3:56 pm Mesaj konusu: |
|
|
Üzgünüm .. bu problem tamamen benim dikkatsizliğimden kaynaklanıyor..
dosya açma satırı şu şekilde olmalı..
fp = fopen("ornek.bmp","rb");
yani mode parametresi "br" değil.. "rb" olacak... fopen help inde dediği gibi...
dökümanı düzeltip hemen yeniden yüklüyorum..
[ Bu mesajı düzenleyen: deniz _FIL 13-04-2004 16:58 ] |
|
Başa dön |
|
|
Ziyaretci
Kayıt: Apr 24, 2003 Mesajlar: 287 Nereden: İstanbul
|
Tarih: Tue Apr 13, 2004 4:50 pm Mesaj konusu: |
|
|
fopen da "rb" gerçekten gerekli mi?
bildiğim kadarıyla tüm modern compiler lar "r" = "rb" varsayıyor.. (*nix de bu zaten böyle)
şu ana kadar ben hiç rb kullanmadım ve hiç hata almadım..
fikri / bilgisi olan?
|
|
Başa dön |
|
|
deniz Site Yöneticisi
Kayıt: Sep 14, 2002 Mesajlar: 838 Nereden: Ankara
|
Tarih: Tue Apr 13, 2004 5:31 pm Mesaj konusu: |
|
|
Söylediğin doğru... "text" moda zorlamak için "t" vermek gerekiyor.. default zaten "b"... o yazıyı yazarken canım biraz -aşırı tedbirli- olmak istemiş olmalı |
|
Başa dön |
|
|
MD-C
Kayıt: Feb 26, 2003 Mesajlar: 1258 Nereden: Dünya.Türkiye(54)
|
Tarih: Fri Apr 16, 2004 10:18 am Mesaj konusu: |
|
|
off offff.... hata hata hata:
Resim 24bit olmasına rahmet header.bpp != 24 testini. Eşşek kadar boyutu olmasına rahmen header.compMethod != 0 testini geçemiyor...
ayrıca sPixel data[header.width * header.height]; bu satır Kurallara aykırı değil mi? dizi boyutlarının önceden bilinmesi gerekmiyor mu? Bunu şööööle yapamazmıyız ki? Tabiki yaparım
sPixel *data = new sPixel[header.width * header.height] yada
sPixel *data = (sPixel)malloc(sizeof(sPixel))*(header.width*header.height));
[ Bu mesajı düzenleyen: MD-C _FIL 16-04-2004 11:36 ] |
|
Başa dön |
|
|
deniz Site Yöneticisi
Kayıt: Sep 14, 2002 Mesajlar: 838 Nereden: Ankara
|
Tarih: Fri Apr 16, 2004 11:17 am Mesaj konusu: |
|
|
Selam.. sPixel data[header.width * header.height]; konusunda haklısın.. senin söylediğin yöntem uygulanmalı. bunu bir an önce düzelteceğim... örnek bir jpg dosyayı Irfan View ile açıp daha sonra BMP olarak kaydettim.. (sıkıştırılmamış ve 24 bit..) .. ilgili field ların değerleri doğru olarak geldi (24 ve 0).. senin bmp kütüğünde bir sorun olmasın? |
|
Başa dön |
|
|
MD-C
Kayıt: Feb 26, 2003 Mesajlar: 1258 Nereden: Dünya.Türkiye(54)
|
Tarih: Fri Apr 16, 2004 11:21 am Mesaj konusu: |
|
|
Win98'in kendi PAINT aracını kullanıyorum.. bu basit alet zaten 24bit'in üzerine çıkamaz... Sıkıştırma seçeneği hiç yok anlamadım bende gıcık oldum |
|
Başa dön |
|
|
deniz Site Yöneticisi
Kayıt: Sep 14, 2002 Mesajlar: 838 Nereden: Ankara
|
Tarih: Fri Apr 16, 2004 12:16 pm Mesaj konusu: |
|
|
denemek için aynı resmi hem mspaint ile hemde irfan view ile save ettim (as bmp - 24 bit).. iki kütüğün diff ini aldığımda arada bazı farklılıklar olduğunu gördüm.. hoş ikisindede 24 bit field ı aynı ve sıkıştırma 0 gözüküyor ama header da bazı field ların içeriği ayrı idi.. istersen net den bulduğun yada windows ile gelen başka bitmapler ile de denemeler yap.. olmassa kütüğü bana da gönder bende bakıyım.. adresimi biliyorsunuz.. |
|
Başa dön |
|
|
|