grosse .bmp datei in viele kleine .bmp dateien zerhacken



  • 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


Anmelden zum Antworten