ekran kartı renk kalitesi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
atlasbm
Üye
Mesajlar: 27
Kayıt: 25 Ağu 2003 12:52

ekran kartı renk kalitesi

Mesaj gönderen atlasbm »

arkadaşlar selamlar
Öncelikle herkeze kolay gelsin.Benim sorunum ekran kartının renk kalitesini değiştirebilmekle ilgili.Yüksek renk 32 bit olan ekran kartı renk kalitesini programa girişte orta 16 bit olarak değiştirmem ve program sonlandığında tekrar 32 bit e ayarlamam gerekiyor. bulduğum kodlar ekran çözünürlüğü ile ilgili fakat ben sadece renk kalitesini değiştirmek istiyorum. Yardımlarınız için şimdiden teşekkürler. Hayırlı çalışmalar olsun.
Kullanıcı avatarı
bluekid
Kıdemli Üye
Mesajlar: 541
Kayıt: 11 Haz 2004 10:45
İletişim:

Mesaj gönderen bluekid »

atlasbm
Üye
Mesajlar: 27
Kayıt: 25 Ağu 2003 12:52

Mesaj gönderen atlasbm »

üstadım linkteki açıklamalardan işin açıkcası pek bişey anlıyamadım. bir örnek kod verebilirsen renk kalitesini orta 16 bit e düşürme konusunda.
Kullanıcı avatarı
bluekid
Kıdemli Üye
Mesajlar: 541
Kayıt: 11 Haz 2004 10:45
İletişim:

Mesaj gönderen bluekid »

ben C/C++ kullanıyorum linkteki fonksiyonu çağırmak yetiyor

örneği Delphiye çevirmek te zor olmasa gerek
EnumDisplaySettings ChangeDisplaySettings API leri kullanılmış

Kod: Tümünü seç

int ChangeColorDepth(WORD bits_per_pixel)

{

   DEVMODE dm;
   // dm içeriği sıfırlanıyor
   memset(&dm, 0, sizeof(DEVMODE));

 

   int current_mode = 0;

   int result = DISP_CHANGE_BADMODE;

 

   // enumerate the available graphic modes

   // mümkün olan grafik modlarına sırayla bakıyoruz
   while (EnumDisplaySettings(NULL, current_mode++, &dm))

   {              

      // when the desired setting is met...
     // istediğimiz renk deriniğine ulaşmışsak
      if (dm.dmBitsPerPel == bits_per_pixel)

      {

         // tell the function which setting to change
         // renk derinliğini değişeceğini belirtiyoruz
         dm.dmFields = DM_BITSPERPEL;

 

         // test to ensure that a change will succeed
         // isteğimizin uygalanabilir olup olmadığını test ediyoruz
         result = ChangeDisplaySettings(&dm, CDS_TEST);

 

         // if successful...
         // eğer uygalanabilirse
         if (result == DISP_CHANGE_SUCCESSFUL)

         {

            // change to the new graphic mode
           //  değişikliği uygula diyoruz
            return ChangeDisplaySettings(

               &dm, CDS_UPDATEREGISTRY

                );

         }

      }

   }

   // otherwise, return the result
  
   return result;

}

 
En son bluekid tarafından 19 Ağu 2006 10:30 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
atlasbm
Üye
Mesajlar: 27
Kayıt: 25 Ağu 2003 12:52

Mesaj gönderen atlasbm »

:roll: :roll: :roll: :roll:
Cevapla