AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Vektorgrafik erstellen und skalieren
Thema durchsuchen
Ansicht
Themen-Optionen

Vektorgrafik erstellen und skalieren

Ein Thema von xXFelixXx · begonnen am 22. Nov 2009 · letzter Beitrag vom 16. Dez 2009
Antwort Antwort
Benutzerbild von xXFelixXx
xXFelixXx

Registriert seit: 3. Okt 2009
23 Beiträge
 
#1

Vektorgrafik erstellen und skalieren

  Alt 22. Nov 2009, 09:22
Hallo!

Wisst ihr, wie man in Delphi eine Vektorgrafik erstellen und dann stufenlos skalieren kann

In meinem Programm soll

- eine NICHT Vektorgrafikdatei (z.B. jpg oder bmp) geöffnet werden
- sie dann in ene Vektorgrafik umgewandelt werden
- dann prozentual vergrößert/verkleinert werden (am besten schon mit enthaltenem Bildlauf)
- sie dann entweder als svg oder bereits skaliert als jpg/bmp gespeichert werden

Ich bin auf dem Gebiet noch absoluter Neuling und weiß noch nicht mal, ob so etwas in Delphi realisierbar ist. Auf schnelle Hilfe würde ich mich freuen,

Felix

P.S.: Ich hab schon bei Google und hier gesucht, aber nichts wirklich brauchbares gefunden...
Was wir brauchen, sind ein paar verrückte Leute; seht euch an, wohin uns die Normalen gebracht haben.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Vektorgrafik erstellen und skalieren

  Alt 22. Nov 2009, 09:26
das sollte mit Delphi realisierbar sein

Der größte Brocken ist definitiv die Vektorisierung - vollautomatisch geht da so gut wie gar nichts bei komplexeren Bildern.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Vektorgrafik erstellen und skalieren

  Alt 22. Nov 2009, 17:36
Einer der einfacheren Kantendetektoren (~=Vektorisierer) ist z.B. der Canny Edge-Detector.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von xXFelixXx
xXFelixXx

Registriert seit: 3. Okt 2009
23 Beiträge
 
#4

Re: Vektorgrafik erstellen und skalieren

  Alt 24. Nov 2009, 15:56
Zitat von Medium:
Einer der einfacheren Kantendetektoren (~=Vektorisierer) ist z.B. der Canny Edge-Detector.


Ähhh... Ja... Und wie setzt man das in Delphi um/extrahiert daraus die geometrischen Formen? Außerdem: Wie setzt man dann noch Farbe da rein.
Was wir brauchen, sind ein paar verrückte Leute; seht euch an, wohin uns die Normalen gebracht haben.
  Mit Zitat antworten Zitat
Benutzerbild von Jakob Ullmann
Jakob Ullmann

Registriert seit: 17. Feb 2007
218 Beiträge
 
Lazarus
 
#5

Re: Vektorgrafik erstellen und skalieren

  Alt 24. Nov 2009, 16:14
Hi!

Ich kenne den Canny-Algorithmus nicht, aber laut der Beschreibung auf Wikipedia wäre das lediglich der erste Schritt beim Vektorisieren.

Abgesehen davon ist ein Vektorisierer kein Programm, das eine Rastergrafik in eine Vektorgrafik umwandeln soll: Es soll einem lediglich die Pfade erstellen, die man dann weiterverarbeiten kann. Das ist ein großer Unterschied.

Falls du aber lediglich vektorisieren, dich aber nicht selbst drum kümmern willst, kannst du auch einfach einen eigens darauf spezialisierten Vektorisierer drüberlaufen lassen. Die besten Ergebnisse im Open-Source Bereich wirst du wahrscheinlich mit Potrace erzielen. Ein billiges Vektorisieren, wie es zum Beispiel auch OpenOffice.org Draw macht, kannst du leicht selbst erstellen, aber ein komplexeres Vektorisieren, was auch wirklich mal brauchbar sein wird (wie es zum Beispiel Potrace ausgibt), dürfte schwierig werden.

Bezüglich Vektorgrafiken allgemein: Am Einfachsten wird es sein, du schaust dir mal TMefaFile und TMetaFileCanvas an.
Jakob
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#6

Re: Vektorgrafik erstellen und skalieren

  Alt 24. Nov 2009, 16:15
Zitat von xXFelixXx:
Ähhh... Ja... Und wie setzt man das in Delphi um/extrahiert daraus die geometrischen Formen?
Für sowas werden Entwickler in der Regel gut bezahlt. Will meinen: Das ist die Aufgabe - Setz Dich dran und stell im Verlauf konkrete Fragen.

Sherlock
Oliver
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Vektorgrafik erstellen und skalieren

  Alt 24. Nov 2009, 16:19
Die Frage ist eher: Wie ist dein Kenntnisstand, sowohl in Sachen Delphi als auch in Mathe? Das ganze ist schon eine nicht mehr ganz so triviale Aktion, und ich hab nen Canny in C# mit allem was man so drum herum noch braucht in ca. 2500 Zeilen Code gegossen (was u.a. auch so Späße wie eine Float-Bitmap Klasse und ein paar andere Filter und Annäherung der Kanten mit Catmull-Rom-Splines beinhaltet). Das hat auch seine Zeit gebraucht, obwohl ich im Moment ziemlich im Thema stecke (das wird Teil meiner Diplomarbeit).

Wenn du also z.B. keine Idee hast, wie man eine Faltung umsetzt (bzw. was das überhaupt ist), dann müsstest du relativ tief mitm Lernen ansetzen. "Wie setz ich das um" ist hier etwas arg allgemein gefragt .

...ui, der rote Kasten! Eine externe Lib zum tracen wäre natürlich auch ein Weg um schnell dahin zu kommen. Spannend ist dann allerdings immer noch die Frage, wie du von einem Kantenbild wieder zu einer vollflächig gefärbten Grafik kommst. Eine Möglichkeit wäre es, die extrahierten Kanten einfach in das normal vergrößerte Bitmap einzuzeichnen. SSpline (ein Programm dass genau das tut was dir vorschwebt) macht das zumindest grob ähnlich wenn ich das richtig gesehen hab (ist schon wieder n paar Jährchen her - gott binnsch alt ).

Edit: Ha, schönes Detail. Als ich auf den roten Kasten hin was dazu geschrieben hab, kam Sherlock. Dann hieß es im Kasten "schon wieder (!)" - noch nie gehabt
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
 
Delphi 12 Athens
 
#8

Re: Vektorgrafik erstellen und skalieren

  Alt 24. Nov 2009, 16:27
Zitat von xXFelixXx:
- eine NICHT Vektorgrafikdatei (z.B. jpg oder bmp) geöffnet werden
- sie dann in ene Vektorgrafik umgewandelt werden
Bevor man eine Zeile in welcher Programmiersprache auch immer schreibt, muss man das Problem und den Lösungsansatz erst einmal verstanden haben. Bei der Aufgabe(2.Zeile) kann das durchaus einige Jahre Studium bedeuten...
  Mit Zitat antworten Zitat
MacJoe

Registriert seit: 16. Dez 2009
1 Beiträge
 
#9

Re: Vektorgrafik erstellen und skalieren

  Alt 16. Dez 2009, 20:31
Hallo,
wie wärs mit c#.
Es gibt einen vollständigen Algorithmus geschrieben in c# unter http://drawing3d.de/Downloads.aspx
Umschreiben in Delphi wäre vielleicht der Mühe wert...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:25 Uhr.
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