Bestimmten Teilbereich eines Bildes einlesen



  • Hy,

    ich habe eine Klasse mit welcher ich Bilder einlesen kann:

    void pic::readFile(void)
    {
    	this->rs->LoadFromFile(this->filename);
    }
    

    Ich moechte aber nun da die Bilder recht gross sind, nicht das ganze Bild einlesen, sondern einen Bereich definieren (ueber 4 intwerte, oder 2 tagpoints) und nur eben diesen Bereich einlesen.

    Ueber meine bestehen Methoden z.B.

    int pic::getCol(int x, int y)
    {
    	return this->rs->Canvas->Pixels[x][y];
    }
    

    will ich aber weiterhin genauso zugreifen koennen.

    Also wenn das pic z.B. 10x10px gross ist und ich sage ich haette gerne den Bereich von 1,1 bis 5,5 soll getCol bei dem Aufruf von 0,0 mir den Wert zurueckgeben, welchen ich bei dem Hauptbild unter 1,1 finde.

    Ist sowas moeglich?



  • Hallo

    Nicht mit TBitmap::LoadFromFile. Du müßtest eine eigene Ladefunktion auf Basis des Bildformates schreiben, wo du den definierten Bereich in dem Datenstrom lokalisierst und ausliest.

    bis bald
    akari



  • akari schrieb:

    Hallo

    Nicht mit TBitmap::LoadFromFile. Du müßtest eine eigene Ladefunktion auf Basis des Bildformates schreiben, wo du den definierten Bereich in dem Datenstrom lokalisierst und ausliest.

    bis bald
    akari

    ich würde sagen, dass wäre etwas zu kompliziert. weiß aber auch nicht was er mit recht gross meint.

    ich würde das komplette bild einlesen und in der bildklasse einen "offset" definieren, der dann in getCol() hinzuaddiert wird.


Anmelden zum Antworten