22. oktober 2001 - 12:34Der er
16 kommentarer og 1 løsning
Bitmap farver i vc++
Vi har lavet et program, der indsætter et bitmap i vores clientarea. Problemet er blot det at vores clientarea (hdc), kun opererer i 16 farver. Hvordan opsættes hdc, til at kunne tage 16 eller 32 bits farvedybde?
Vieweren ændrer ganske rigtigt farvedybden hvis man bruger copy/paste... Vælg istedet Insert->Resource (Ctrl+R) og vælg bitmap. Klik så <Import> og vælg filen!
Hvis farverne ikke passer helt, kan det være du for brug for en palette (CPalette i MFC), der mappe farver i bitmappen til farvedybden på skærmen. Dette bør man normalt anvende, medmindre man er sikker på, at bitmappen har samme farvedybde som desktoppen (hvis programmet altså kører i et vindue).
Billedet kan blive gnidret hvis du ændrer for meget på størrelsen, fx et 100x100px bitmap vises over et areal på 300x300px...
Vi har et 800*600 bitmap i hukommelsen. Dette tegner vi i. Så StrechBlt\'ter vi det ind i clientvinduet. Hvis dimensionerne asf clientvinduet ikke er lige omkring de 800*600. F.eks 100*100, ser billedet meget gnidret og farvereduceret ud.
=> soepro Takker mange gange, men jeg husker da at du selv har suppleret med kompetente svar mange gange...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.