Autor |
Beitrag |
Quake User
      
Beiträge: 159
|
Verfasst: Sa 08.01.11 03:08
Welche Komponeten verwende ich am besten um auf ein Bitmap (png) Vector Grafiken zu zeichnen? (wmf, svg, eps o.ä.)?
|
|
Quake User 
      
Beiträge: 159
|
Verfasst: Sa 08.01.11 19:56
|
|
Bergmann89
      
Beiträge: 1742
Erhaltene Danke: 72
Win7 x64, Ubuntu 11.10
Delphi 7 Personal, Lazarus/FPC 2.2.4, C, C++, C# (Visual Studio 2010), PHP, Java (Netbeans, Eclipse)
|
Verfasst: Sa 08.01.11 20:12
Hey,
ich kenn keine Komponente, abner zur not kannt du dir das ja auch selber schreiben, bzw die Vektorgrafiken in ein BMP umkodieren. zu den einzellnen Formaten findet man bestimmt bei gogle irgendwas zum Aufbau so ner Datei. Dann muss man die Sachen nur noch richtig rauslesen un dann auf die Bitmap zeichnen.
MfG Bergmann.
_________________ Ich weiß nicht viel, lern aber dafür umso schneller^^
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 08.01.11 21:11
Delphi selbst kann doch Vektorgrafiken lesen. Also einfach in TPicture laden oder direkt ein TMetafile dafür benutzen. Dieses Bild kannst du wiederum mit TBitmap.Canvas.Draw direkt auf ein TBitmap zeichnen.
|
|
Quake User 
      
Beiträge: 159
|
Verfasst: So 09.01.11 18:30
jaenicke hat folgendes geschrieben : | Delphi selbst kann doch Vektorgrafiken lesen. Also einfach in TPicture laden oder direkt ein TMetafile dafür benutzen. Dieses Bild kannst du wiederum mit TBitmap.Canvas.Draw direkt auf ein TBitmap zeichnen. |
Also: ich verwende derzeit ein Image. In dieses lade ic hden Hintergrund. Nun kann ich auf das Canvas des Image bspw. mit "Ellipse" Kreise zeichnen.
Image1.Canvas.Ellipse (x-2,y-2,x+2,y+2);
Ich suche noch eine Möglichkeit, auch andere Bilder (Vektor Grafiken) an bestimmten Positionen des Image zu zeichnen.
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 09.01.11 19:28
Quake User hat folgendes geschrieben : | Ich suche noch eine Möglichkeit, auch andere Bilder (Vektor Grafiken) an bestimmten Positionen des Image zu zeichnen. |
Genau das habe ich doch geschrieben.
Wobei du eben zum Zeichnen in diesem Fall statt TBitmap.Canvas.Draw eben Image1.Canvas.Draw benutzt.
|
|
Quake User 
      
Beiträge: 159
|
Verfasst: So 09.01.11 19:28
Das Image1.Canvas.Draw(50,50,wK) im folgenden Code löst eine Exception aus: "Ein Bild kann nur geändert werden, wenn es ein Bitmap enthällt." Das Image enthällt aber ein Bitmap!?
Delphi-Quelltext 1: 2: 3:
| wK:= TMetaFile.Create; wK.LoadFromFile(ExtractFilePath(ParamStr(0))+'wK.emf'); Image1.Canvas.Draw(50,50,wK); |
Ich habe in der Hilfe folgendes gefunden:
Delphi-Quelltext 1:
| Form1.Canvas.Draw(50,50,wK); |
Das funktioniert. Ich möchte aber nicht auf die Form, sondern auf das Bitmap zeichnen (da man bspw. das Bitmap auch vergrößern oder verkleinern kann und sich dann das Gezeichnete verschiebt.) Ich benötige dabei das Image aber nur als Hintergrund.
Ich habe hier das Konzept noch nicht verstanden. Was verwendet Ihr und wie? Könnt Ihr ein Einstiegst Tutorial empfehlen?
|
|
bummi
      
Beiträge: 1248
Erhaltene Danke: 187
XP - Server 2008R2
D2 - Delphi XE
|
Verfasst: So 09.01.11 19:54
Du hast wahrscheinlich kein Bitmap geladen sondern ein Picture, z.B. ein PNG, ICO o.ä..
Einfach in ein Dummyimage laden und in Zielbild malen mit Canvas.Draw(0,0,Dummyimage.Picture.Graphic)
_________________ Das Problem liegt üblicherweise zwischen den Ohren H₂♂
DRY DRY KISS
|
|
Quake User 
      
Beiträge: 159
|
Verfasst: So 09.01.11 20:14
bummi hat folgendes geschrieben : | Du hast wahrscheinlich kein Bitmap geladen sondern ein Picture, z.B. ein PNG, ICO o.ä..
Einfach in ein Dummyimage laden und in Zielbild malen mit Canvas.Draw(0,0,Dummyimage.Picture.Graphic) |
Ja, das war das Problem.
Ich suche immer noch ein Turorial. Hier mal meine Zielstellung:
- ich möchte auf ein Hintergrund Bitmap EMF Grafiken (oder andere Vektorformate) und auch Text zeichnen
- ich möchte die EMF Grafiken später noch mit der Maus verschieben können.
- ich möchte teilweise transparente Grafiken auf den Hintergrund zeichnen
|
|
jaenicke
      
Beiträge: 19314
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 09.01.11 20:32
|
|
delbor
      
Beiträge: 19
Erhaltene Danke: 1
Windows 7
RadStudioXE
|
Verfasst: Mo 10.01.11 12:27
Hi zusammen
Delphi selbst kennt seit Urzeiten TMetaFile und TMetafileCanvas, um Vektorgrafiken zu zeichnen.
Mit TMetafileCanvas kann z.B. in eine Paintbox gezeichnet werden.
Gruss
Delbor
|
|
|