JPG lesen mit Standard C++, ist das so schwierig?
-
Nexus schrieb:
Ich dachte, es ginge auch ums Konvertieren und Bearbeiten. Und dafür mal eben schnell den JPEG-Algorithmus in Standard-C++ implementieren, naja...

Mit SFML Bilder zu bearbeiten und auch wieder zu speichern ist übrigens keine gute Idee. Dafür ist die Library nicht gedacht und es gibt da einige Hürden. Wenn es nur ums Bearbeiten und Anzeigen geht, würde es natürlich gehen.
-
hdfdfgdfg schrieb:
Mit SFML Bilder zu bearbeiten und auch wieder zu speichern ist übrigens keine gute Idee. Dafür ist die Library nicht gedacht und es gibt da einige Hürden. Wenn es nur ums Bearbeiten und Anzeigen geht, würde es natürlich gehen.
Bilder zu speichern stelle ich mir mit
sf::Image::SaveToFile()nicht allzu schwierig vor. Unter den Features steht ja auch:Can load and save standard image formats : bmp, dds, jpg, png, tga, psd
Wo können also Probleme auftreten?
-
Nexus schrieb:
hdfdfgdfg schrieb:
Mit SFML Bilder zu bearbeiten und auch wieder zu speichern ist übrigens keine gute Idee. Dafür ist die Library nicht gedacht und es gibt da einige Hürden. Wenn es nur ums Bearbeiten und Anzeigen geht, würde es natürlich gehen.
Bilder zu speichern stelle ich mir mit
sf::Image::SaveToFile()nicht allzu schwierig vor. Unter den Features steht ja auch:Can load and save standard image formats : bmp, dds, jpg, png, tga, psd
Wo können also Probleme auftreten?
Dann kam die Funktion neu dazu. Ich hatte mich damals noch im Forum beschwert, dass es diese Möglichkeit nicht gibt. Gut zu wissen. Danke

-
hdfdfgdfg schrieb:
Nexus schrieb:
hdfdfgdfg schrieb:
Mit SFML Bilder zu bearbeiten und auch wieder zu speichern ist übrigens keine gute Idee. Dafür ist die Library nicht gedacht und es gibt da einige Hürden. Wenn es nur ums Bearbeiten und Anzeigen geht, würde es natürlich gehen.
Bilder zu speichern stelle ich mir mit
sf::Image::SaveToFile()nicht allzu schwierig vor. Unter den Features steht ja auch:Can load and save standard image formats : bmp, dds, jpg, png, tga, psd
Wo können also Probleme auftreten?
Dann kam die Funktion neu dazu. Ich hatte mich damals noch im Forum beschwert, dass es diese Möglichkeit nicht gibt. Gut zu wissen. Danke

Ah ich weiß wieder wo das Problem war... Speichern konnte man ein sf::Image doch schon länger, aber um die Größe zu ändern muss man ein sf::Spirte daraus machen. Und das kann man anschließend nicht mehr speichern

-
hdfdfgdfg schrieb:
Ah ich weiß wieder wo das Problem war... Speichern konnte man ein sf::Image doch schon länger, aber um die Größe zu ändern muss man ein sf::Spirte daraus machen. Und das kann man anschließend nicht mehr speichern

sf::Imagekann seine Grösse nicht ändern, das liegt wohl am unterliegenden Pixel-Array. Du kannst aber ein neues Image erstellen und Teile rüberkopieren. In SFML 2 gibt es ausserdemsf::RenderImage, auf das wie auf ein Fenster gezeichnet werden kann.sf::Spritedient jedoch nur dazu, eine Sicht auf einsf::Imagezu ermöglichen, um grafische Repräsentation und Ressourcen zu trennen.
-
Ich find dies RenderImage in der Doku gar nicht. Wo hast du das denn gesehen?
-
SFML 2 ist noch nicht offiziell draussen, du kannst dir aber den momentanen Stand über SVN beziehen. Dokumentation gibts auch keine wirkliche, ich orientiere mich hauptsächlich an den Headerdateien und einigen Ankündigungen im SFML-Forum...
-
hdfdfgdfg schrieb:
Ah ich weiß wieder wo das Problem war... Speichern konnte man ein sf::Image doch schon länger, aber um die Größe zu ändern muss man ein sf::Spirte daraus machen. Und das kann man anschließend nicht mehr speichern

Das sind eine handvoll zeilen. Selber skalieren, in einem eigenen array abspeichern und ein temporäres sf::image mit dem array initialisieren, dann savetofile.
-
HerrGottNochmal schrieb:
JPG lesen mit Standard C++, ist das so schwierig?
Ja, wie du schon an der Diskussion hier siehst.
-
HerrGottNochmal schrieb:
... JPG-Format ...
Aber allmählich geht mir das auf die Nerven weil es die Biblothek,
dann z.B. nur für Windows gibt und nicht für Linux usw. ...er.
die libjpeg gibt's ja wohl für windows und linux und sogut wie jede plattform überhaupt.
-
Sollte auch mit JPEG gehen ka ob es das ist was du brauchst.
bytes zeilenweise aus datei lesen und als neue datei abspeichern:
#include <iostream> #include <fstream> using namespace std; int main() { char buf; char buffer[999999999]; ifstream file; ofstream abc("hallo.exe",ios::binary); ofstream datei("test.exe",ios::binary); file.open("Notepad.exe",ios::binary); int i=0; while ( file.get(buf) ) { i = i + 1; datei.put(buf); buffer[i] = buf; } file.close(); datei.close(); system("PAUSE"); } //---------------------------------------------------------------------------
-
was für ein scheiß code
