Picturebox über Picturebox



  • Hallo zusammen,
    hab ein schweres Problem trotz Tage langem Googeln keinen Ansatz gefunden.
    Ich will eine kleine PictureBox auf einer großen PictureBox plazieren.
    In der kleinen PictureBox ist eine Gif mit transparenten Teilen.
    Nun sollen diese Transparenten Teile je nach Bild in der großen PB diese Farbe annehmen 😕
    sprich das bild soll durchscheinen!

    Danke für eure Hilfe!



  • Moin,

    Du musst das kleine Bild in das große Bild zeichnen ... mit 2 PictureBoxen geht das nicht

    hand, mogel



  • ich denk auch das ne eigene Zeichnungs Routine Komfortabler wäre. Mit Picboxen wäre es IMHO sowieso zu Statisch.
    Du Kannst ja ne Klasse machen die von ner Picbox ableitet und dann OnPaint Überschreiben. geht besser, sieht besser aus und du hast keine Probeme, normalerweise, wenn jetzt alle verstanden haben was du willst....



  • Danke für die Antworten...
    Die große PictureBox in fest plaziert und die kleine will ich dann per Drag&Drop verschieben...da siehts ja mit zeichnen schlecht aus!



  • wieso siehts da schlecht aus, normalerweis brauchst garkeine Picbox für sowas?!?



  • Ich hab überhaupt keine erfahrung mit grafikanwendungen.
    wie soll ich sonst die gif zeichen oder änliches?



  • so oder so ähnlich

    Bitmap ^bmp = gcnew Bitmap(pictureBox1->Width, pictureBox1->Height);
    Graphics ^gfx = Graphics::FromImage(bmp);
    gfx->DrawImage(grossesBild, 0, 0, grossesBild->Width, grossesBild->Height);
    gfx->DrawImage(kleinesBild, x, y, kleinesBild->Width, kleinesBild->Height);
    pictureBox1->Image = bmp;
    


  • du überschreibst die OnPaint Methode deiner Winform, oder auf was halt sonst gezeichnet werden soll:

    void Form1_Paint(Object^  sender, PaintEventArgs^  e) {
    			 e->Graphics->DrawImage(deineImage, Point(intCoordX, intCoordY));
    		 }
    

    das ist aber nur ganz veralgemeinert 😉

    musst halt deine Image reinladen und deine Koordinaten mit nem Maus Klick Ereigniss oder so aktualisieren.



  • ok...lol, nimm beide zusammen dann wirds gehen^^



  • Danke werd ich heute nach der arbeit gleich mal probieren wie die ansätze umzusetzen sind!
    Ich geb dann rückmeldung 😉

    Danke Leute funktioniert ohne Probleme!!



  • Also soweit funktioniert alles ich speicher die Positionen in einem List und sie werden dann jedes mal neu gezeichnet bei onPaint!
    Jetzt würd ich aber gerne sobald man mit der maus über die gezeichnete Grafik fährt, das diese als Objekt erkannt wird und verschoben werden kann?

    Ist sowas möglich?

    MFG


Log in to reply