[C++] Transparente Bilder im Bildschirmschoner zeichnen

Hallo Jellysheep,

man sollte keine Beiträge hintereinanderschreiben (nicht 10 mal ) :offtopic:.

Aber jetzt zu deinem Problem. Habe mir jetzt nicht alles durchgelesen, aber normalerweise kann man PNG's nicht durchsichtig zeichnen. Du willst doch so halbtransparent. Dies muss man durch vermischen des hinteren Pixel mit den vorderen machen. Vielleicht gibt es eine Windows-API-Funktion. (Einfach :google:!).
Selber zu schreiben ist ein wenig schwierig.

mfg
ComFreek
 
Ok, ich such nochmal.

Weiß jemand, warum das Zeichnen eines leeren DCs so langsam geht und nach kurzer Zeit aufhört?
 
Irgendwie habe ich das Aufhören wegbekommen, und das seltsame Zeichnen auf dem Bildschirm lag glaube ich am Bild, andere zeichnet er fehlerfrei...
Schön! :)
Aber leider ruckelt das Ganze und ich habe festgestellt, dass das Minimum des Timers von SetTimer() 10 Millisekunden sind... liegt das Ruckeln daran? Kann man den Minimalwert ändern oder ohne SetTimer auskommen?
 
Hat vielleicht jemand den Code von dem Bubbles Bildschirmschoner von Vista oder von der XP-Version?
Bzw. gibt es den Code zum Download?
 
Wie kann man denn am einfachsten PNG laden?

Ich habe versucht, mit GDI+ ein PNG einzulesen, aber das funktioniert niht, der Bildschirm bleibt schwarz...
Code:
case WM_PAINT:
{
    PAINTSTRUCT ps;
    HDC hdc = BeginPaint(hWnd, &ps);
    Gdiplus::Bitmap *pBitmap = Gdiplus::Bitmap::FromFile((WCHAR*)"E:\\Bild.png", false);
    if( pBitmap )
    {
        Gdiplus::Graphics g(hdc);
        g.DrawImage(pBitmap, Gdiplus::PointF(0.0f, 0.0f));
    }
    delete pBitmap;
    EndPaint(hWnd, &ps);
}
 
Hi,

Um alle möglichen Bildformate zu laden guck dir mal die OpenGL-Librarys an.

Mit ihnen solltest du das Bild laden können auch ohne OpenGL zu benutzen

Gruß
Anfänger
 
Kann jemand einen Code schreiben, der mit GDI+ ein PNG in ein Fenster (o.ä.) lädt, und der bei demjenigen schon funktioniert hat?
 
Zurück