Hallo, ich bin noch anfänger mit C++ und habe ein problemm. ich möchte ein kleines Programm mit Visual C++ schreiben, dass ein Bild ZB(bmp oder jpg)vom ein (quelledatei) öffnet, aus diesem einen bestimmten Bereich "herausschneidet" und in ein zweite Datei(zieldatei) speichert - also z.B. aus einem Bild mit 768 x 576 Pixeln einen Streifen mit 40 x 30 Pixeln Ihre hilfe wäre mir sehr dankbar. danke für ihre Hilfe
Cyrille Guetsop wrote: > Hallo, > > ich bin noch anfänger mit C++ und habe ein problemm. > > ich möchte ein kleines Programm mit Visual C++ schreiben, dass ein Bild > ZB(bmp oder jpg)vom ein (quelledatei) öffnet, > aus diesem einen bestimmten Bereich "herausschneidet" und in ein zweite > Datei(zieldatei) speichert - also z.B. aus einem Bild > mit 768 x 576 Pixeln einen Streifen mit 40 x 30 Pixeln Da hast du dir aber ganz schön was vorgenommen, für den Anfang. Mein Tip: Such im Web nach Bibliotheken, die dir die Knochenarbeit abnehmen: das Einlesen/Schreiben von Bildern bzw. die Speicherung und Bearbeitung von Bildern. Deine Stichworte für google wären "C++ image library"
Wenn du ohne die Einbindung zusätzlicher Libs auskommen willst/musst, hast du nur bei BMP eine (schnelle) Chance. Dort wird eine (relativ) simple RLL-Kompression verwendet, man kann auch beim Speichern einstellen, dass unkomprimiert geschrieben werden soll. JPEG setzt auf einen gewaltigen Sack Mathematik. Ich will jetzt nicht sagen, das sei unlösbar, ist aber ein dicker Brocken. Das nützt dir aber alles Nichts, wenn du die Erstellung der Bilder aus fremder Herkunft nicht beeinflussen kannst. Ansonsten musst du dich mit der API entsprechender Bibliotheken befassen ... Frank
Karl heinz Buchegger wrote: > Cyrille Guetsop wrote: >> Hallo, >> >> ich bin noch anfänger mit C++ und habe ein problemm. >> >> ich möchte ein kleines Programm mit Visual C++ schreiben, dass ein Bild >> ZB(bmp oder jpg)vom ein (quelledatei) öffnet, >> aus diesem einen bestimmten Bereich "herausschneidet" und in ein zweite >> Datei(zieldatei) speichert - also z.B. aus einem Bild >> mit 768 x 576 Pixeln einen Streifen mit 40 x 30 Pixeln > > Da hast du dir aber ganz schön was vorgenommen, für den > Anfang. > > Mein Tip: Such im Web nach Bibliotheken, die dir die Knochenarbeit > abnehmen: das Einlesen/Schreiben von Bildern bzw. die Speicherung > und Bearbeitung von Bildern. > > Deine Stichworte für google wären "C++ image library" danke karl, versuche ich mal das biblothek mir C++ image library zu lesen vieleich klappt es.
Hi, wenn Du die JPEG-Mathematik einer Bibliothek überlassen möchtest, bietet sich auch die Software der Independent JPEG Group an: http://www.ijg.org/ Für die Einbindung der Bibliothek in VC++ Programme ist etwas Arbeit erforderlich (Bibliothek kompilieren, Fehlermeldungen analysieren, Bibliotheks-Quellcode ändern, alles wieder von vorne), aber es ist machbar. Been there, done that. Gruß Fred Die meisten BMPs sind übrigens unkomprimiert und leicht in DIBs zu überführen. Wenn BMPs komprimiert sind, dann mit RLE.
Cyrille Guetsop wrote:
> ich möchte ein kleines Programm mit Visual C++ schreiben, ...
Nur nebenbei: das hier ist das Forum für den GCC. Die Experten für
Visual XXX wirst du hier wohl eher nicht finden...
Cyrille Guetsop wrote: > ich möchte ein kleines Programm mit Visual C++ schreiben, dass ein Bild > ZB(bmp oder jpg)vom ein (quelledatei) öffnet, > aus diesem einen bestimmten Bereich "herausschneidet" ... Liegt die Betonung auf "möchte C++ schreiben" oder auf "Bild bearbeiten"? In letzterem Falls ist möglicherweise ImageMagick o.ö. Dein Freund. Es bietet mannigfaltige Möglichkeiten zur Bildmanipulation -- per Kommandozeile -- Schnittstellen für verschiedene Sprachen (C, C++, Perl, Java, Ruby, PHP, Ada, ...) -- Unix, MS-Windows, Mac OS X -- Steht unter GPL und ist kostenlos -- Unterstützt zig Formate -- Snip, Konvertierung, Erstellung (auch Animationen), Maskierung, Gamma-Anpassung, ... http://www.imagemagick.org
Georg-johann L. wrote:
> In letzterem Falls ist möglicherweise ImageMagick o.ö. Dein Freund.
Meinst du, jemand der freiwillig Visual XXX benutzt, würde seine
Bildbearbeitung mit Kommandozeilentools vornehmen wollen? ;-)
ImageMagick enthält auch ImageMagick++, ein C++ interface für die Libraries. Damit ist das schnell gemacht. Ansonsten kann er den "einfachen" Weg gehen, und aus VC++ einfach die Commandline-Tools mit den richtigen Parametern ausführen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.