DMUG-Archiv 2000

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Objekte und Zugriffs-Funktionen

Hallo,

also die PixelMatrix steht i_m_m_e_r als erstes im Raster[].

Robert Nowak wrote:
> 
> hallo jens,
> 
> > Cases[gr, _?MatrixQ, Infinity]
> 
> ja das klingt ganz gut scheint ja zu versprechen die pixeldaten
> "rauszuholen"  voraussetzung ist das die pixel daten innerhalb von gr als
> matrix irgendwo enthalten sind. sollten irgend welche anderen daten dort
> ebenfalls als matrix drinnen stecken wuerde man die leider auch mitgeliefert
> bekommen.

Schlimmer als alles andere ist aber dass immer die Bitmap-Dimension mit
dabei ist
die als {{0,0},{w,h}} auch eine Matrix ist und als letztes drinsteht.
Korrekt w"are also 

mat = Drop[Cases[gr, _?MatrixQ, Infinity], -1] /. {m_?MatrixQ } :> m

'schuldigung

Aber im Falle einer Palette ist das sowieso Unsinn weil ein z. B. ein
Filter mit Intensit"aten arbeitet und nicht mit Indexverweisen auf eine
Palette.

> Resume man kommt nicht drum rum die struktur von Graphics, Raster, ... etc
> genau zu kennen.

Na das ist ja wohl das mindeste. Man kann ausserdem einfach eine
Funktion 
schreiben die jede Bitmap in RGB convertiert, zwar in den Speicher geht
aber
wohl das Sinnvollste ist, schliesslich macht jede Bildbearbeitung das
genauso.

> Leider ist die struktur von Raster nur beispielhaft und unvollstaendig fuer
> verschiedene typen dokumentiert, es gibt keine formale definition von Raster
> fuer allgemeine graphiktypen.

Was ist denn eine Definition von Raster[] f"ur allgemeine Graphiktypen ?

> Will man einen allgemeinen zugriff auf allgemeine Raster  muss man wohl oder
> uebel annahmen ueber deren struktur machen welche nicht dokumentiert sind
> und daher falsch sein koennen. Eine solche annahme kann z.B. sein: "die
> pixelmatrix steht immer als erstes element in Raster welches widerum als
> erstes element in Graphics steht". dann kitzelt man die pixel eben mit First
> @First@gr gleichbedeutend mit First[First[gr]] oder wegen
> First[expr] is equivalent to expr[[1]]
> eben mittels gr[[1,1]] heraus punkt aus ende.

Kleiner Scherz am Rande, hat schon mal jemand die Essenz 
dieser n"utzlichen Erl"auterungen
bei einem animierten GIF Bild angewandt ? Da gibts n"amlich eine Liste
mit

gr:{Graphics[Raster[__],___]..}

und die Raster steht *nicht* bei gr[[1,1]]. Wenn man aber einfach eine
Funktion macht
die das Attribut Listable hat, kann man die weiter verwenden :-)
Eben Funktional-Logisch.

Gruss
  Jens


Antworten:
Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html