halbtransparentes BGImage auf transparenter Form wird nicht korrekt angezeigt

  • VB.NET

Es gibt 25 Antworten in diesem Thema. Der letzte Beitrag () ist von Mangafreak1995.

    halbtransparentes BGImage auf transparenter Form wird nicht korrekt angezeigt

    Ich habe eine Form
    Borderstyle.None
    TransparencyKey = Color.Control
    BackgroundColor = Color.Control
    BackgroundImage = "xxx.png"

    das Bild enthält Halbtransparenz
    aber diese Halbtransparenz ist in Color.Control
    Abhilfe =? wie =?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mangafreak1995“ ()

    sry es war in png
    ich habe nur jpg ausversehn hingeschrieben

    smile solls sein
    und
    smile2 ist der stand der Dinge
    Bilder
    • smile.png

      1,14 kB, 50×50, 439 mal angesehen
    • smile2.png

      7,87 kB, 51×59, 441 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mangafreak1995“ ()

    eingebaut (ins Form_Load an 1. Stelle)
    neu kompiliert
    gleiches Problem
    Ok.
    Wenn du noch

    VB.NET-Quellcode

    1. Or AllPaintingInWmPaint

    machst, sollte nichts mehr gezeichnet werden.
    Dann kannst du in Form_Paint mit GDI das Bild zeichnen

    Aso und: Das Bild darf NICHT in einem Control sein (z.B. PictureBox), sonst bringt das nichts.
    kein Control oO
    oh mom


    dann wird die Transparenz in weiß gezeichnet

    wie soll ich dass dann auf die Form zeichnen =?
    Graphics ?

    VB.NET-Quellcode

    1. Graphics.DrawImage(DasBild, 0, 0) '?

    VB.NET-Quellcode

    1. Private Sub Fade_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
    2. Dim g As Graphics = e.Graphics
    3. g.DrawImage(Form1.PictureBox1.Image, Me.Bounds, 0, 0, Form1.PictureBox1.Image.Width, Form1.PictureBox1.Image.Height, GraphicsUnit.Pixel)
    4. End Sub

    es wird gezeichnet (mit Fehler, Bild1)
    wenn ich ein anderes Bild auswähle dann lasse ich mit Fade.Invalidate neuzeichnen
    beim Neuzeichnen kommt Fehler(Bild2)
    Fehlertext
    Informationen über das Aufrufen von JIT-Debuggen
    anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

    ************** Ausnahmetext **************
    System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
    bei AimPointer.Form1.PictureBox1_Click(Object sender, EventArgs e) in D:\Visual Studio 2008\Projects\VB\AimPointer\AimPointer\Form1.vb:Zeile 102.
    bei System.Windows.Forms.Control.OnClick(EventArgs e)
    bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    bei System.Windows.Forms.Control.WndProc(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


    ************** Geladene Assemblys **************
    mscorlib
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3603 (GDR.050727-3600).
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
    ----------------------------------------
    AimPointer
    Assembly-Version: 1.0.0.0.
    Win32-Version: 1.0.0.0.
    CodeBase: file:///C:/Dokumente%20und%20Einstellungen/Mangafreak1995/Desktop/AimPointer.exe.
    ----------------------------------------
    Microsoft.VisualBasic
    Assembly-Version: 8.0.0.0.
    Win32-Version: 8.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
    ----------------------------------------
    System
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll.
    ----------------------------------------
    System.Windows.Forms
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
    ----------------------------------------
    System.Drawing
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
    ----------------------------------------
    System.Runtime.Remoting
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
    ----------------------------------------
    System.Configuration
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
    ----------------------------------------
    System.Xml
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3082 (QFE.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll.
    ----------------------------------------
    mscorlib.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3603 (GDR.050727-3600).
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll.
    ----------------------------------------
    System.Windows.Forms.resources
    Assembly-Version: 2.0.0.0.
    Win32-Version: 2.0.50727.3053 (netfxsp.050727-3000).
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
    ----------------------------------------

    ************** JIT-Debuggen **************
    Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
    Konfigurationsdatei der Anwendung oder des Computers
    (machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
    Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

    Zum Beispiel:

    <configuration>
    <system.windows.forms jitDebugging="true" />
    </configuration>

    Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
    Ausnahmen an den JIT-Debugger gesendet, der auf dem
    Computer registriert ist, und nicht in diesem Dialogfeld behandelt.


    Bilder
    • bild1.png

      2,29 kB, 117×100, 425 mal angesehen
    • bild2.png

      24,55 kB, 449×318, 139 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mangafreak1995“ ()

    naja fertig ... ich dacht mir das auch erst so
    aber in dem Tooltip wo dann steht was ich alels brauche kam iwie mehr hinzu
    gleiches Resultat
    nur der Smiley liegt jetzt über dem Button (der eig nich im Bild sein sollte)
    Wenn der Smiley auf den Desktop soll, dann kannst du dir den Window Handle vom Desktop besorgen und darauf zeichnen.
    Ansonsten fällt mir nichts mehr ein, auser du bearbeitest die Bitmap und machst eine GIF daraus (Nur 100% Transparenz ode 0).
    Dann ist der abblend Effekt zwar weg, aber die Überläufe gehen weg und es sollte immer noch akzeptabel aussehen.

    Welcher Button überhaupt?
    der Button dem man erkennt auf dem beigefügten Bild
    er soll im Vordergrund sein
    das mit den gifs ist mir klar
    mein Programm listet alle gifs und pngs auf um diese zu verwenden
    das mit den Gifs klappte ja als ich noch mit einer Picbox gearbeitet habe

    joa aber wenn pngs auch verfügbar wären wäre es ja noch besser ^^
    ein Freund zockt gerne EgoShoter
    und er will nen AimPointer (ein Programm was ein Cross (Fadenkreuz) vor die Spielfläche zeigt um beim Zielen bei nicht vorhandenen Fadenkreuzen hilfe zu leisten)
    hab ich mir gedacht, wird sicher easy

    funzt ja auch (mit PicBox, only 255/0-Alpha)... bis aufs Zeichnen und damit das gut aussieht dacht ich mir lass ma fragen obs noch besser geht