[Squeak-ev] Re: Hilfe - Wie erstellt man in Squeak eine Pixelgrafik?

Andreas Raab andreas.raab at gmx.de
Son Dez 26 22:08:05 UTC 2010


On 12/26/2010 10:42 PM, R. Baumann wrote:
> Vielen Dank für den Hinweis - aber in den Klassen Form und BitBlt habe ich
> nachgeschaut. Dort wird gezeigt, wie man Bilder als rechteckige Bereiche mit
> Hilfe von 0/1-Reihungen (Arrays) erzeugt. Ich benötige aber lineare Gebilde,
> die man mit Pixeln füllen und dann untereinandersetzen kann.
> Ennos Hinweis auf Canvas werde ich gleich nachgehen; aber ist dies nicht
> eher für Morphs gedacht?

Nein. Gar nicht. Am einfachsten geht das so:

form := Form extent: 100 at 100 depth: 32.
(form getCanvas)
	fillRectangle: form boundingBox color: Color white; "background"
	fillOval: form boundingBox color: Color red; "kreis"
	line: 0 at 0 to: 100 at 100 width: 1 color: Color black;
	line: 0 at 100 to: 100 at 0 width: 1 color: Color black; "kreuz;"
	point: 50 at 50 color: Color green; "pixel"
yourself. "usw. usf. see Canvas/FormCanvas Protokoll"

"und jetzt anzeigen"
form display.

"oder speichern"
PNGReadWriter putForm: form onFileNamed: 'sample.png'.

"oder als Morph oeffnen"
(SketchMorph withForm: form) openInWorld.

> Warum sind Dinge, die z. B. in Java ganz einfach gehen, in Squeak nur so
> kompliziert?

Weil a) Du Java kennst und Squeak nicht und b) es praktisch keine 
Dokumentation fuer Squeak gibt und fuer Java schon.

Ciao,
   - Andreas