Español
Foro

Farbproblem con BitBlt(memDC&...

 
Leider tener Yo cómo unten en el Bild sehen kann beim Nutzen folgenden Codes una Problema beim Copieren mittels BitBlt. Das Problema bezieht se sin embargo sólo en una einzige Farbe (una Syscolor) welche de Grau a Weiß kopiert se.

Yo bekomme lo simplemente no weg, kann me alguien helfen?

Hier el Ejemplo-Code:
KompilierenMarcaSeparación
settruecolor 1
DEF CreateCompatibleDC(1) !"GDI32","CreateCompatibleDC"
DEF CreateCompatibleBitmap(3) !"GDI32","CreateCompatibleBitmap"
DEF SelectObject(2) !"GDI32","SelectObject"
DEF BitBlt(9) !"GDI32","BitBlt"
DEF DeleteDC(1) !"GDI32","DeleteDC"
def ReleaseDC(2) !"USER32","ReleaseDC"
DEF ASetParent(2) ! "USER32","SetParent","%%","%"
declare memDC&,hMemBitmap&

PROC CreateMemBmp

    Parameters mx%,my%
    LET memDC& = CreateCompatibleDC(%hdc)                DC erstellen
    LET hMemBitmap& = CreateCompatibleBitmap(%hdc,mx%,my%)    Bitmap erstellen
    SelectObject(memDC&,hMemBitmap&)                         Bitmap in DC selektieren
    RETURN memDC&

EndProc

PROC DeleteMemDC

    DeleteDC(memDC&)

EndProc

window 300,300 - 300,300
Declare Static&
Static& = Control("STATIC","",1409286414,10,10,200,200,%hwnd,2001,%hinstance)
CreateMemBmp 200,200
startpaint %desktop
BitBlt(memDC&,0,0,200,200,%hdc,0,0,$0C000CA)
endpaint
ASETPARENT(static&,%desktop)
SendMessage(Static&,$172,0,hMemBitmap&)
releasedc(%hdc,memDC&)
DeleteMemDC
showwindow(static&,0)
showwindow(static&,1)
WaitInput
Gracias, IF
 
24.08.2004  
 




Dennis
Schulmeister
¡Hola David,

probiere malö el Farbe geringfügig (de z.B. 255 en 253) a ändern. Irgendwo en el MSDN Yo veces gelesen, dass bajo gewissen Umständen bastante bestimme Farben en Systemfarben geändert voluntad. Schau eventuell otra vez el Flags de BitBlt a.

Saludo,
Dennis
 
(Fast) alle Profan²-Versionen seit Version 2.6, sowie (fast) alle Windows-Versionen seit Windows 3.1
04.09.2004  
 



Yo glaube hier ists anders herum, auch si mein Bild desafortunadamente falschherum es. Das grau se a weiß.

PS: a el Flags liegt lo auch no.

Bis denne, IF
 
04.09.2004  
 



¡Hola IF...

Testbericht: Der Fehler tritt weder bajo Windows95, todavía bajo Windows98 y no bajo Windows2000 en - also XP spezifisches Problema.
Intento (sólo así para Spaß) veces folgendes:
-Profaneditor en el bastante untere Bildecke schieben
-más Programa maximieren
-en Profaneditor el Focus seten (Ventana el kopiert se se deaktiviert ser)
-dein Testprogramm starten

Gibts entonces siempre ni Farbverschiebung oder es entonces alles normal? Hab desafortunadamente kein XP...
 
05.09.2004  
 



Noch ne Concepto, kanns por desgracia, no testen...
KompilierenMarcaSeparación
settruecolor 1
DEF CreateCompatibleDC(1) !"GDI32","CreateCompatibleDC"
DEF CreateCompatibleBitmap(3) !"GDI32","CreateCompatibleBitmap"
DEF SelectObject(2) !"GDI32","SelectObject"
DEF BitBlt(9) !"GDI32","BitBlt"
DEF DeleteDC(1) !"GDI32","DeleteDC"
def ReleaseDC(2) !"USER32","ReleaseDC"
DEF ASetParent(2) ! "USER32","SetParent","%%","%"
declare memDC&,hMemBitmap&

PROC CreateMemBmp

    Parameters mx%,my%
    LET memDC& = CreateCompatibleDC(%hdc) DC erstellen
    LET hMemBitmap& = CreateCompatibleBitmap(%hdc,mx%,my%) Bitmap erstellen
    SelectObject(memDC&,hMemBitmap&) Bitmap in DC selektieren
    RETURN memDC&

EndProc

PROC DeleteMemDC

    DeleteDC(memDC&)

EndProc

window 300,300 - 300,300
Sleep 1000
Declare Static&
Static& = Control("STATIC","",1409286414,10,10,200,200,%hwnd,2001,%hinstance)
CreateMemBmp 200,200
startpaint %desktop
BitBlt(memDC&,0,0,200,200,%hdc,0,0,$0C000CA)
endpaint
ASETPARENT(static&,%desktop)
SendMessage(Static&,$172,0,hMemBitmap&)
releasedc(%hdc,memDC&)
DeleteMemDC
showwindow(static&,0)
showwindow(static&,1)
WaitInput
 
05.09.2004  
 



Hmpf, egal como, egal welches Ejemplo, egal wo el Foco,- siempre el Selbe.

Lo se ya así ser como Sebastian lo angedeutet hatte,- (%desktop & static & bitblit) <-- algo passiert como qué una unerfindlichen Grund ha.

Aber danke & salve,- IF
 
05.09.2004  
 



¡Hola IF...

Como ya he dicho - bajo Windows2000 y allen otro Betriebssystemen el me disponible posición se ejecuta dein Quellcode - el problema scheint also específicamente en XP a mentira. Como se beim Focuswechsel en el Titelzeile uno Fensters genau el selbe Farbwechsel abspielt, wars wohl el Intento wert...
 
05.09.2004  
 




Dennis
Schulmeister
Also el de Andreas beschriebene Comportamiento saber Yo irgendwie de wo bastante anders her. Nämlich de mi guten alten 486él Laptop. Der sabe nämlich sólo 256 Farben y Windows 3.1. Wenn Yo hay uno otro Anwendung el Fokus dar, macht esta Anwendung ihre höchst propio Farbpalette a Systempalette. Das ha el Vorteil dass uno en Grafikanwendungen todavía halbwegs vernünftig trabajo kann aber el otro Anwendungen en el Hintergrund schauen dadurch je después de Palette siempre lustiger de. Yo nehme a, dass el späteren Windowsversionen se en 256 Farben siempre todavía así comportamiento.

Kann lo ser, dass du con un 256-farb DC arbeitest, IF? Im Gegensatz a 24bit-Farben enthält una 256-farb DIB/DC oder qué De todos modos una propio Palette y bezieht se en el real Datenbereich sólo en esta Palette. Ein 24-bit DIB/DC/... bezieht se esta en no Palette pero besteht de reinen R-G-B-Trippeln.

War sólo así una (unwahrscheinliche) Concepto...

Saludo,
Dennis
 
(Fast) alle Profan²-Versionen seit Version 2.6, sowie (fast) alle Windows-Versionen seit Windows 3.1
05.09.2004  
 



¡Hola Dennis...

Das war no bastante el, Yo meinte. Como ya he dicho - en allen media Rechnern se ejecuta el Programa sin Problemas - tener bloß kein XP. El gleiche Farbänderung sehe Yo aber, si una Anwendung vom nichtaktiven en el aktiven Zustand übergeht - nämlich en el Schrift des Fenstertitels. Como lo probablemente no en una normales Windowsverhalten pero más en una Fehler en XP es, podría Yo me como Windowslaie bien vorstellen, el dieses Fehlverhalten en Verbindung con un Focuswechsel posición podría...

Das de dir beschriebene Comportamiento ha con el 256 Farben Grafiktreiber a tun y tritt incluso en el otro Windowsversionen en a geringer Farbtiefe en ähnlicher Art todavía en - aber el war, como dijo, no mein Thema.
 
06.09.2004  
 



Nene, Yo fahr en 32bit.

IF
 
06.09.2004  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

5.757 Views

Untitledvor 0 min.
Walter11.04.2023
Michael W.03.07.2016
Michaeal18.10.2012

Themeninformationen

Dieses Thema ha 2 subscriber:

unbekannt (8x)
Dennis Schulmeister (2x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie