Forenindex » Archiv » Adobe Director » Bitmapdarsteller mit Lingo ändern

Bitmapdarsteller mit Lingo ändern

kal.ma
Beiträge gesamt: 3

19. Aug 2003, 10:46
Bewertung:

gelesen: 2610

Beitrag als Lesezeichen
ersteinmal hallo zusammen. finde euer forum echt gelungen. ok dann mal zu meinem Problem. Ich lade mit importfileinto bitmapdarsteller in eine besetzung und möchte diese bitmapdarsteller in der größe ändern. wie kann ich dies tuen.

DANKE

Bitmapdarsteller mit Lingo ändern

Anonym
Beiträge gesamt: 22827

19. Aug 2003, 14:34
Bewertung:

gelesen: 2610

Beitrag als Lesezeichen
on xy
sprite(me.spritenum).width=200
sprite(me.spritenum).height=300
end


das in das spritescript deines bitmaps

jolanda

Bitmapdarsteller mit Lingo ändern

Anonym
Beiträge gesamt: 22827

19. Aug 2003, 14:44
Bewertung:

gelesen: 2610

Beitrag als Lesezeichen
erstmal vielen dank für die schnelle reaktion
doch dies ist hier nicht gemeint
ich möchte den member begrenzen und nicht das sprite dies ist dann wohl doch etwas komplizierter vielleicht durch ein xtra oder ...

Danke im voraus

Bitmapdarsteller mit Lingo ändern

Anonym
Beiträge gesamt: 22827

19. Aug 2003, 15:43
Bewertung:

gelesen: 2610

Beitrag als Lesezeichen
von imaging lingo habe ich keine ahnung
versuchs mal mit der direktor hilfe unter quad --> copyPixels()
oder so
jo

Bitmapdarsteller mit Lingo ändern

donkey shot
Beiträge gesamt: 1416

19. Aug 2003, 17:35
Bewertung:

gelesen: 2610

Beitrag als Lesezeichen
Willst Du die Größe des Sprites auf der Bühne ändern oder die Größe des Darstellers?

Ersteres geht zB. mit...

sprite(x).width = 1000
sprite(x).height = 1000
(konkrete Pixelangabe)

sprite(x).width = sprite(x).width * 1.5
sprite(x).height = sprite(x).height * 1.5
(Faktor)

sprite(x).rect = sprite(x).rect * 2

etc.

Letzteres geht mit folgendem Skript...

Dabei wird das Bild von einem Quelldarsteller mit dem Befehl copyPixels in einen anderen kopiert und dabei vergrößert oder verkleinert.

Trockengeschwommen:

Bildobjekt.copyPixels(Quellbild(zB. Darsteller).image, Ziel.rect, Quelle.rect, [hier können noch Parameter rein])

Beispiel:

Nehmen wir mal an Darsteller 2 ist 200 x 200 Pixel groß.

-- die folgende Zeile erzeugt ein neues Bild mit Breite, Höhe und Farbtiefe, das erstmal "virtuell" bleibt, halb so groß wie Darsteller 2

myImg = image(100, 100, 32)

-- diese Zeile kopiert die Pixel des Darstellers 2 in das "virtuelle" Bild und verkleinert sie auf dessen Größe, nämlich um die Hälfte (member(2).rect/2); als Zielrechteck könnte auch myImg.rect angegeben sein:

myImg.copyPixels(member(2).image, member(2).rect/2, member(2).rect)

-- und diese Zeile setzt das "virtuelle" Bild in Darsteller 3 ein:

member(3).image = myImg

Du kannst natürlich auch das Bild wieder in member(2) einsetzen, allerdings ist dann das Ursprungsbild verloren.

Statt der ersten Zeile mit den konkreten Angaben (100, 100) kannst Du natürlich auch (member(2).with / 2, member(2).height / 2) schreiben.

Ich weiß - das ganze ist leider etwas kompliziert und hat den Nachteil, das Director nicht sonderlich gut (bzw. gar nicht) interpoliert. Um Qualitätsverluste zu vermeiden, solltest Du nur verkleinern, nicht vergrößern. Oder bei der Veränderung von Sprites zuerst stark verkeinern und dann erst vergrößern.

Das beste ist es, solche Operationen irgendwie mit Bildbearbeitungsprogrammen zu machen.

Hoffe, ich habe das ganze halbwegs verständlich erklärt, wenn nicht, oder wenn ich Dich falsch verstanden habe, mußt Du nochmal nachfragen.

grüsse,

Christof

Bitmapdarsteller mit Lingo ändern

Anonym
Beiträge gesamt: 22827

20. Aug 2003, 08:04
Bewertung:

gelesen: 2610

Beitrag als Lesezeichen
vielen vielen dank ich werde dies mal ausprobieren
hört sich erstmal verständlich an, ich dachte nicht das er unterschiedliche pixelanzahl kopiert.

kal.ma