Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-04-2005, 18:35   #1 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
RGB erstellen?

hi!
Ich möchte gerne eine Linie mit einem bestimmten RGB Wert zeichnen.
ich benutze:
clip.lineStyle(2,rgb(r,g,b),100);

rgb soll jetzt eine funktion sein die mir aus den 3 farbwerten einen RGB Wert ausrechnet.

wie funktioniert das?
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Alt 23-04-2005, 18:56   #2 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Umrechnen in Hexadezimal als Ansatz
ActionScript:
  1. r=255
  2. g=255
  3. b=255
  4. hex=r.toString(16)+g.toString(16)+b.toString(16); //16 -> hexadezimal, binär wäre 2 etc.
  5. trace(hex)
  6. // ausgabe: ffffff
  7.  

Näheres zur Umrechnung in der AS-Referenz unter Number.toString

Gruß
Rena
__________________
www.rena-hermann.de

The angels have the phone box

Geändert von rena (23-04-2005 um 18:58 Uhr)
rena ist offline   Mit Zitat antworten
Alt 23-04-2005, 18:59   #3 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Google macht's möglich...
ActionScript:
  1. function RGBToHex (r, g, b ){
  2.   var hex = r << 16 ^ g << 8 ^ b;
  3.   return hex;
  4. }

[edit]
Ah, rena... long time no see
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 23-04-2005, 19:05   #4 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Hehe ... ja, war bisserl "still" die Tage -> Stress.
Nette Funktion, nicht getestet ... kannt ich gar nicht.

Bei meinem Ansatz hab ich was vergessen ...
Kleine Werte von r, g oder b werden beim Umwandeln ohne 0 davor ausgegeben, also besser vorher prüfen ob zwei Stellen und wenn nicht, die 0 davor setzen.

Gruß
Rena
__________________
www.rena-hermann.de

The angels have the phone box

Geändert von rena (23-04-2005 um 19:08 Uhr)
rena ist offline   Mit Zitat antworten
Alt 23-04-2005, 19:36   #5 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
Hey danke Guys!
ich hätte es mit umrechnen versucht, aber so:

rgb = int(0xff0000*r + 0xff00*g + 0xff*b);
r,g,b hier natürlich von 0..1

warum hat das nicht funktioniert?
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Alt 23-04-2005, 19:39   #6 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Du kannst keine Hex-Werte mit Dezimalzahlen multiplizieren - ganz einfach.
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 23-04-2005, 20:14   #7 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
das ist doch egal in welcher form ich einen Zahlenwert angebe... im Player ist sowieso alles binär gespeichert!
also muss ich auch hex mit dezimal multiplizieren können...

z.b trace(0xF*2) funktioniert! ist 15*2 = 30
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Alt 23-04-2005, 20:27   #8 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Stümmt, war ich wohl etwas vorschnell...

Also ich bin auch kein Techniker, aber auf jeden Fall kannst da nicht so einfach zwischen Hex und Dezimal hin- und her-jonglieren/einzelne Farben manipulieren usw. - das passiert ja immer mit diesen bitweisen Operatoren so wie oben in der Funktion.
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 23-04-2005, 20:28   #9 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
Naja ok,
die Bitoperatiren versteh ich leider nicht... währ vielleicht auch mal ganz interessant.
Haupsache es funktioniert!

danke nochmal!
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Alt 23-04-2005, 20:31   #10 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Zitat:
Zitat von Alphanimal
die Bitoperatiren versteh ich leider nicht...
Hehe, ich auch nicht...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 23-04-2005, 20:54   #11 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
hier, wofür ich es gebraucht hab:
http://www.teamcraft.at/flashworx/bridge.php
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Alt 19-05-2005, 17:22   #12 (permalink)
Freizeitflasher
 
Benutzerbild von Alphanimal
 
Registriert seit: Jun 2004
Ort: Niederösterreich
Beiträge: 615
Ok, hab mich etwas mit Bitweisen Operatoren beschäftigt...
Das wäre meine HEXtoRGB Funktion:

PHP-Code:
function HexToRGB(col){
 var 
= (0xFF0000&col) >> 16;
 var 
= (0x00FF00&col) >> 8;
 var 
0x0000FF&col;
 return {
r:rg:gb:b}

funktioniert... aber is der Algorithmus so am besten oder gehts irgendwie einfacher/besser?
__________________
Some Flash Worx
Alphanimal ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele