Ana Menü
· Ana Sayfa
· Dosyalar
· Dökümanlar
· Forum
· Günün Resmi
· Haber Arşivi
· WWW Linkleri
· Üye Listesi

     Forumlar

 strncpy ve strncpy_s
 Konu adi : Borland c++ Builder ile Amiral Batti
 Rady10 - YerliOyun
 Kabusta Kaybolmak
 Konsol da programı bekletmek
 Oyun programlama icin hangi programlama dilli ?
 flash! şanlıurfa bilgisayar oyununda(no rapid)
 Sevgilim Olur musun?
 Directx'e başlamak isteyenler bi bakın
 PSP programlama
 Flash tan php
 Bilgisyr oyunu yapmam için üniverstde hangi bölüme girmeliym
 www.arshiv.gen.ms
 Cimg.h ilgilenenler icin
 müttefik oyunu

Konu Disi
 Emraah
 Yeni sitemiz açıldı
 Kalp krizi durumunda ne yapılmalı?
 Oyun sektöründe hangi görevde çalışmak isterdiniz?
 Takım arkadaşı sorunu
 msn de renklı nıck
 pc hata veriyor ! YARDIM!!
 Gülmek isteyenler Buraya
 İnanılmaz hl 2 modu görüntüsü
 Computer Languages History

[ Forumlara Git ]


oyunyapimi.org: Forums

www.oyunyapimi.org :: Başlığı Görüntüle - BMP kütük formatı ve kullanımı: yardım!!!
 SSSSSS   AramaArama   Kullanıcı GruplarıKullanıcı Grupları   ProfilProfil   LoginLogin 

BMP kütük formatı ve kullanımı: yardım!!!

 
Yeni Başlık Gönder   Cevap Gönder    www.oyunyapimi.org Forum Ana Sayfası -> Duyurular
Önceki başlık :: Sonraki başlık  
Yazar Mesaj
El_MunDo



Kayıt: Dec 11, 2004
Mesajlar: 8
Nereden: İstanbul

MesajTarih: Thu Sep 29, 2005 4:33 pm    Mesaj konusu: BMP kütük formatı ve kullanımı: yardım!!! Alıntıyla Cevap Ver

BMP kütük formatı ve kullanımı dökümanındaki kodları yazdım ve çalıştırdım. Fakat yanlış değerler geldi. 640 * 480 bir bmp kütüğünü okutturduğumda width ve height değerleri yanlış geliyor. Şimdiden teşekkürler.
Başa dön
Kullanıcı profilini gör
MD-C



Kayıt: Feb 26, 2003
Mesajlar: 1258
Nereden: Dünya.Türkiye(54)

MesajTarih: Thu Sep 29, 2005 8:13 pm    Mesaj konusu: Alıntıyla Cevap Ver

Al sana bir BMP yükleyici yazayım:
(Not: Mutlaka hata olacaktır, buraya bodoslama yazmaktan kaynaklanan...)

Kod:
#include <windows.h>
#include <fstream>

unsigned char *BMPYukle(const char *DosyaAdi, int *RGenis, int *RYuksek, int *RFormat) {
   BITMAPFILEHEADER bFileH;
   BITMAPINFOHEADER bInfoH;

   std::ifstream dO(DosyaAdi);
   if(!dO) {
      MessageBox(NULL, "Dosya Bulunamadı", NULL, MB_OK | MB_ICONERROR);
      return NULL;

   dO.read((char*)&BFileH, sizeof(BITMAPFILEHEADER));
   if(dO.bfType != 0x4D42) {
      MessagerBox(NULL, "Bu BMP formatı değil!", NULL, MB_OK | MB_ICONERROR);
      fO.close();
      return NULL;
   }

   dO.read((char*)&bInfoH, sizeof(BITMAPINFOHEADER));
   *RGenis = bInfoH.biWidth;
   *RYuksek = bInfoH.biHeight;
   *RFormat = (bInfoH.biBits / 8);

   unsigned long uzunluk = 0;
   unsigned char *ResimVerisi = new unsigned char[(uzunluk = (*RGenis)*(*RYuksek)*(*RFormat))]
   if(!ResimVerisi ) {
      MessageBox(NULL, "Yetersiz bellek alanı", NULL, MB_OK | MB_ICONERROR);
      dO.close();
      return NULL;
   }

   dO.seekg(bFileH.bfOffBits, std::ios::beg);
   dO.read((char*)ResimVerisi, uzunluk));
   unsigned char Renk;
   for(unsigned long i=0; i < uzunluk; i += *RFormat) {
      Renk = ResimVerisi[i];
      ResimVerisi[i] = ResimVerisi[i+2];
      ResimVerisi[i+2] = Renk;
   }

   dO.close;

   return ResimVerisi;
}
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
madprogrammer



Kayıt: Jun 10, 2004
Mesajlar: 290
Nereden: İstanbul // Üsküdar

MesajTarih: Thu Sep 29, 2005 8:14 pm    Mesaj konusu: Alıntıyla Cevap Ver

doğaldır bu durum. neden diyecek olursan opengl'in X^2 * Y^2 hariç bir resim formatını okumama gıcıklığı var ki bu ne demek şu demek okuttuğun resmin boyutları X^2 * Y^2 formatında değil. Lan ne dio bu herif diyeceksin açıklayayım bak 640'ı ve 480'i sürekli ikiye böl, eğer tam olarak 1 elde edersen -ki edemeyeceksin- o resim opengl'in kabul edeceği türden misal 512*512 ya da 128*512 ya da 1*128 ya da 1*1 ram hesabı gibi düşün Wink fakat tek kart bazında.

İşi çözmek için resmi 512*512 yap yine çalıştır uygulamayı bu sefer resmi göreceksin ve Width ve Height değerleri de doğru gelecektir.

Hadi kolay gelsin
-MaD-
Başa dön
Kullanıcı profilini gör
madprogrammer



Kayıt: Jun 10, 2004
Mesajlar: 290
Nereden: İstanbul // Üsküdar

MesajTarih: Thu Sep 29, 2005 8:16 pm    Mesaj konusu: Alıntıyla Cevap Ver

md-c yeni gördüm hocam mesajı yalnız dikkat eleman ogl'de çalışıyor anlaşılan BMP kütük formatındaki kod ogl kullanıyor çünkü...
Başa dön
Kullanıcı profilini gör
MD-C



Kayıt: Feb 26, 2003
Mesajlar: 1258
Nereden: Dünya.Türkiye(54)

MesajTarih: Thu Sep 29, 2005 8:33 pm    Mesaj konusu: Alıntıyla Cevap Ver

Doku genişliğini kurallarının, API'den API'ye pek fazla farklı yok, sonuçta bu işlemi grafik kartı yapıyor, evet dediğin gibi bir (2^X)*(2^Y) olayı mevcut ama zaten 640x480'de uygun bir ebat değilmi?, çoğu oyunun arka planı resmi zaten ya: 640x480'dir yada 800x600'dür buda yukarıdaki formül için sorun oluşturmaz, bunun dığında arkadaşın sorunu sanırım, File Format Headar'lardan kaynaklanıyor, yani resim için doğru olan bilgileri alamamış...

Yazdığım kodda if(..) {... den sonra scope'ı kapamamışım: }:
Kod:

// Bu olmalı:
   if(!dO) {
      MessageBox(NULL, "Dosya Bulunamadı", NULL, MB_OK | MB_ICONERROR);
      return NULL;
   }
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
Mesajları göster:   
Yeni Başlık Gönder   Cevap Gönder    www.oyunyapimi.org Forum Ana Sayfası -> Duyurular Tüm saatler GMT +2 Saat
1. sayfa (Toplam 1 sayfa)

 
Forum Seçin:  
Bu forumda yeni konular açamazsınız
Bu forumdaki mesajlara cevap veremezsiniz
Bu forumdaki mesajlarınızı değiştiremezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu forumdaki anketlerde oy kullanamazsınız


Powered by phpBB 2.x.x © 200x phpBB Group
Türkçe Çeviri : Onur Turgay & Erdem Çorapçıoğlu
Türkçe Düzenleme: Alexis Canver
Version 2.x.x of PHP-Nuke Port by Tom Nitzschner © 200x www.toms-home.com




Web site powered by PHP-Nuke
Web site engine\'s code is Copyright © 2002 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Sayfa Üretimi: 0.190 Saniye