SORU
24 AĞUSTOS 2010, Salı


Vista/7: cam Ne renk olsun?

Nasıl DwmGetColorizationColor kullanıyor musunuz?

documentation iki değer döndürür " der

  • bir 32-bit 0xAARRGGBB renk içeren cam bileşimi
  • true olan bir boolean parametre renk "eğer bir opak bir karışımıdır" (her ne demekse)

İşte ben böyle bir renk, güzel bir yeşil kusmuk: alt text

Rengi yeşile dönmüş olduğunu fark edebilirsiniz, ve şeffaf başlık çubuğu (beyaz arka plan) çok net sümük rengi gösterir: enter image description here

Windows: rengini almaya çalışın

DwmGetColorizationColor(dwCcolorization, bIsOpaqueBlend);

Ve alıyorum

dwColorization: 0x0D0A0F04
bIsOpaqueBlend: false

Belgelere göre bu değer biçimi içerir: yani 9**, ve

AA: 0x0D (13)
RR: 0x0A (10)
GG: 0x0F (15)
BB: 0x04 (4)

Bu sözde rengi (10, 15, 4), ~5.1% bir donukluk anlamına gelir.

Ama eğer gerçekten bu RGB değerine bakın, şu anda istenilen sümük benim yeşil yakın. Burada

  • Sıfır ile (10, 15, 4) opaklık (orijinal renk), ve
  • (10,15,4) opaklık/beyaz kareli bir arka plan karşı: 5% ile

alt text

Lime, DwmGetColorizationColor yeşil döndürür neredeyse tamamen şeffaf bir yerinesiyah.

Şimdi soru şu:Nasıl cam renk elde etmek içinWindows Vista/7?

çok iyi çalışmıyor DwmGetColorizationColor ama kullanmaya çalıştım.


Seni çekmek için person with same problem, but a nicer shiny picture bir sincap: alt text

Yukarı ya da aşağı kaynar So – DwmGetColorizationColor tamamen uygulamalar çalışırken kullanılamaz için bir üzerine geçerli renk uygulamak için donuk yüzey.


this guy's screenshots benimkinden çok daha iyi seviyorum. Onun ekran görüntüleri bir şablon olarak, bir kaç sparklies yaptım kullanılarak:

alt text

alt text

alt text

alt text

alt text

alt text

Son iki ekran için alfa karışık çipi kısmen doğru şeffaf bir PNG, tarayıcınızın arka plana karıştırma. Serin! (çok ineğim)

Edit 2: bunları düzenlemek için gökkuşağı renkli ... ... (çok ineğim)

Edit 3: Şimdi ben elbette Sarı eklemek zorunda.


Belgesiz/Desteklenmeyen/Kırılgan Geçici Çözümler

Giriş noktasında DwmApi.dll belgesiz ihracat DwmGetColorizationParameters arayacağız olan 137, var:

HRESULT GetColorizationParameters_Undocumented(out DWMCOLORIZATIONPARAMS params);

struct DWMCOLORIZATIONPARAMS
{
   public UInt32 ColorizationColor;
   public UInt32 ColorizationAfterglow;
   public UInt32 ColorizationColorBalance;
   public UInt32 ColorizationAfterglowBalance;
   public UInt32 ColorizationBlurBalance;
   public UInt32 ColorizationGlassReflectionIntensity;
   public UInt32 ColorizationOpaqueBlend;
}

İlk parametre ilgileniyoruz: ColorizationColor.

Ayrıca değeri kayıt dışı okuyoruz:

HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM
    ColorizationColor: REG_DWORD = 0x6614A600

Appcompat sorunlar yaratma zehrini seçtin. Yapabilirsiniz

Ayrıca Bkz


bir yıldır bu soruyu sormak için artık çok istiyordum. ben her zaman imkansız cevap için, birilerinin dikkatini çekmek için tek yol renkli ekran sahip olduğunu biliyordu; geliştiriciler parlak şeylerden etkilenir. Ama dezavantajı yemlerden yapmak için her türlü koymak zorunda kaldım demektir.

CEVAP
24 AĞUSTOS 2010, Salı


Color=! renklendirme seçilen temel renk. Yanıltıcı olduğunu biliyorum.

Ama kafam karıştı. Aldığın görüntü sonrası hak kazandı "Retrieving Aero Glass base color for opaque surface rendering". Bu ne yapmak istiyorsun değil mi? Ben de yazılan tüm renk bilgilerini saklı (HKEY_CURRENT_USER\Software\Microsoft\DWM Windows) alma amaçlı kayıt yeri gösterilir.

8/26 düzenlenmiş

(Dwmapi.dll) "renklendirme renk çeşitli renkler (dahil. bir karışımı olan", DwmGetColorizationColor döndürür seçilen temel renk) destekleyen mantık genel olarak cam efekti elde etmek için.

İstediğiniz/ihtiyacınız olan tüm renk bilgilerini kayıt defteri anahtarını yukarıda belirtilen bulunabilir. Temel rengi, renkleri karıştırma kullanılan ve elde edilen renklendirme renk var.

(Tuşun üzerinde Windows Vista ve üstü.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ryan Ha

    Ryan Ha

    9 NİSAN 2006
  • Vintendo Power

    Vintendo Pow

    2 Ocak 2007
  • Virtual Riot

    Virtual Riot

    19 Mayıs 2011