Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TImage durchsichtig (https://www.delphipraxis.net/3931-timage-durchsichtig.html)

Schwanengel 14. Apr 2003 11:32

Hi Mirilin

Ich habe den Vorschlag mit der Paitbox angenommen.
In einen kleinen Testprogramm habe ich mit einer Paintbox Versuche angestellt.
Beim kopieren von bestimmten Bereichen aus dem 'Paintbox.canvas', wird
immer das was hinter der Paintbox ist mit Kopiert.

BEISPIEL: :coder:
Delphi-Quellcode:
Koprect:=rect(pos1,pos2,pos3,pos4);//übergabe des Bereiches
  cliprect:=rect(0,0,pos3 - pos1,pos4 - pos2);
  Bild:=Tbitmap.create;
  Bild.width:=pos3 - pos1;
  Bild.height:=pos4 - pos2;
  bild.canvas.copyrect(cliprect,paintbox.canvas,koprect);
FRAGE:
Wie kann man das vermeiden :?:

danke für Antwort

oki 14. Apr 2003 11:38

Hi,

zeichne das Bitmap doch direkt in den Canvas. Dann hast du das Transparentproblem mit dem TImage nicht.

Gruß oki

Schwanengel 14. Apr 2003 11:50

Hi oki,

danke erst mal für Deine Antwort.
Das ist mir ja alles klar, aber ich möchte einen Teil aus diesem canvas heraus kopieren.
Jetzt sollen diese kopierten Teile transparent, also nur
die Striche die ich gezeichnet hatte, wieder auf andere Stellen von diesen canvas.

schwer was :freak:

oki 14. Apr 2003 12:10

Hi,

also um es mal ganz einfach zu sagen, du mußt in deinem kopierten Teil die Hintergrundfarbe ermitteln und diese bei deinem kopierten Bitmap als transparent definieren.
Im Grunde denke ich, dass du da nur mit einer festgelegten Hintergrundfarbe als Transparentfarbe arbeiten kannst, oder du läßt den Anwender vor (bei) dem Einfügevorgang die Transparentfarbe bestimmen. Das Problem scheint hier zu sein, dass wenn das Bitmap erst mal auf den Canvas kopiert ist, dann ist das Object "weg".
Das Übereinanderlegen von mehreren Zeichnungsobjecten ist zwar eine Lösung (das willst du glaub ich auch), aber dann fangen weitere Probleme an. Ein Problem sind die Zeichnungsbegrenzungen (stell dir vor dein Stempel ist ein Dreieck und dein Object [Timage etc.] kann aber nur ein Rechteck sein). Inder Regel überlappen sie deine Stempel und bekommst Probleme mit dem "greifen" deiner Objecte. Oder du stapelst mehrere übereinander und es ergibt nich ein zusammengesetztes Bild. Was kopierst du dann? Alle, Teilmenge, oberes Object (oben/unten ist auch noch nicht geklärt)?

Also da sind Baustellen ohne Ende.

Ich glaube, du mußt erst mal sagen was das für ein Zeichenprogramm werden soll.

Frage: So was wie MSPaint? Oder sowas wie CorelDraw o.ä.?

Gruß oki

Schwanengel 14. Apr 2003 17:06

hallo,

ich glaube mit der Frage nach dem Zeichenprogramm hast Du den Nagel auf den Kopf getroffen.
Ohne viel weiter zu erklären, unter W95 das 'PBrush' zeigt es Dir was ich meine.
Hier kann ich auf der Oberfläche zeichnen und eine rechteck Kopie machen. Ich will gar nicht erst fragen, wie das geht wenn man eine Kontur kopieren will.
Die Kopie nimmt die Zeichnung auf und läßt aber den Hintergrund Transparent. :!:

Ich hoffe das Du jetzt mein Problem verstehst. :roll:

Im Grunde genommen bin ich ja auch nur ein Anfänger, ich habe viel zu spät mit der Programmiererei angefangen.


das war's mal wieder von mir

oki 15. Apr 2003 16:03

Hi Schwanengel.

Ich hab das Gefühl, dass wir hier in zwei unterschiedlichen Threads zum gleichen Problem diskutieren. Das macht mich etwas närrisch. Sag mal an welcher Stelle wir weiter arbeiten wollen und den anderen schließen wir vorerst.

Gruß oki

Schwanengel 15. Apr 2003 18:10

Hallo

Du hast recht.
Mir ist es lieb wenn wir unter 'Multimedia' weitermachen :roll:
Es ist im Grunde genommen das gleiche Problem.

Entschuldige bitte.

Aber behalte mal die Art, wie es unter 'PBrush' gemacht wird im Auge.
Damit Du ungefähr weißt was ich meine.

Tschüß bis dann :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:15 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz