grosse .bmp datei in viele kleine .bmp dateien zerhacken
-
Teile X und Y Breite durch einen von dir gewählten Divisor, woraus die Breiten und Höhen der Teilbereiche ermittelbar sind, berechne die Offsets der daraus entstehenden Eckpunkte und kopiere die entsprechenden Teilbereiche in separate Arrays/Vektors o.Ä.
-
ich meinte eigentlich ob es eine klasse oder ein lib gibt
wo ich die entsprechenden rects angeben kann und da heraus das image erzeugen und auf die festplatte speichern kann.es bringt mir nun nichts wenn ich nur einzelne "Datenpackete" aus der datei auslese
-
Das bringt wohl was. Dauert doch nicht lange das zu schreiben. Rects kannst du selber Angeben, alles was du tun musst ist das ganze in einer for-Schleife rauszukopieren, und evtl. in eine Bmp Datei zu speichern. Wer braucht für sowas eine lib??
-
Teile X und Y Breite durch einen von dir gewählten Divisor, woraus die Breiten und Höhen der Teilbereiche ermittelbar sind, berechne die Offsets der daraus entstehenden Eckpunkte und kopiere die entsprechenden Teilbereiche in separate Arrays/Vektors o.Ä
Also das prinzip ist mir klar
aber wie mache ich das?
Welche befehler / Klasse / lib / welche includes?
-
meine mit filestreams das ganze teilen oder wie?
Aber dann is ja der header weg usw
-
MeisterMichi schrieb:
meine mit filestreams das ganze teilen oder wie?
Aber dann is ja der header weg usw
Den Header schreibst du halt selber in die Datei.
Alles was du brauchst ist eine Bitmap Klasse, die du dir entweder selber schreibst oder eine fertige benutzt. Dieser entnimmst du die entsprechenden Daten. Das ist minimaler Code, in 5 Minuten geschrieben. Alles was du ja tun musst ist, wie gesagt, Bitmap Daten partiell rauszukopieren.
-
wirklich schlauer bin ich nun auch nicht.
Aber trotzdem ein dank an eure versuche mir zu helfen
-
Also z.B.
int AlteBitmapX=256; int AlteBitmapY=256; char BitmapData[65536]; //256*256 Bitmap 8 Bit //Aufteilen int ErgebnisBitmaps=... //Gewünschte Anzahl Bitmaps...nehmen wir 4 int TeilBitmapX=128; //256/2 int TeilbitmapY=128; int TeilbitmapGröße=TeilBitmapX*TeilBitmapY; //16384 char's char *NeueBitmap=new char[TeilbitmapGröße]; //Da wir 4 wollen, deklariere 4 Arrays //Rauskopieren for (int y=0, Offset=0; y<TeilBitmapY; y++) { for (int x=0; x<TeilBitmapX; x++, BitmapOffset++) { NeueBitmap[y*TeilBitmapX+x]=BitmapData[Offset]; } Offset+=AlteBitmapX-TeilBitmapX; } //Die Initialisierung für Offset ist hier 0, da wir als erstes aus der oberen Linken Ecke kopieren. Für die nächste Bitmap muss das Startoffset entsprechend höher sein.
War das verständlich?
-
ja gut ... so teilt man die und speichert die in eine varriable.
Aber wie bekomme ich die ausgangs bmp in die varriable?
Dazu müsst ich sie ja mit ein filestream erstmal einlesen (ifsteram)
und wie bekomm ich die teil bmps wieder zu ner datei?
Da muss ich ja n header zusammen bauen.Ich wollt mich nun nicht mit dem bmp format selber allzusehr beschäftigen, da ic das nur als keinen teil für ein projekt brauche, dass mich schon sehr in anspruch nimmt
Gibts da denn keine fertige Klasse die das ganze macht?
Oder ein lib
-
Ich sagte ja: Benutze in dem Fall eine Bitmap Klasse. Z.B. die von Windows, oder suche bei google. Hier z.B.
-
naja... müsste platformunabhängig sein
und vorallem auf linux laufen
-
naja... müsste platformunabhängig sein
und vorallem auf linux laufen
-
naja... müsste platformunabhängig sein
und vorallem auf linux laufen
-
Da wirst du schon was finden, ganz sicher.
-
ups... wollt nich so oft posten
hatte verbindungsprobleme