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.
ekran kartı renk kalitesi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
ben C/C++ kullanıyorum linkteki fonksiyonu çağırmak yetiyor
örneği Delphiye çevirmek te zor olmasa gerek
EnumDisplaySettings ChangeDisplaySettings API leri kullanılmış
ö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.