Farbe von Eiheiten in Blitz ändern

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

kreisman

Betreff: Farbe von Eiheiten in Blitz ändern

BeitragMo, Jun 12, 2006 19:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab folgende Animation aus Freecraft:
user posted image

Mein Problem ist das die Einheit standardmäßig rot ist.
Ich möchte aber diese auch in grün,blau,etc. haben.Muss ich nun also das ganze Bild mit ReadPixel durchgehen und alle Rotwerte ersetzten oder gibt es eine einfachere Möglichkeit?Da das Bild 360*936 pixel groß ist und ich das nicht nur mit einer Einheit machen will dauert das doch zimlich lange -.-

PowerProgrammer

BeitragMo, Jun 12, 2006 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach das doch mit nem Malprogramm und speicher die Teile dann auch als Bild ab! Wo ist das Problem?

darth

Betreff: ..

BeitragMo, Jun 12, 2006 19:13
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn platz (festplatte) keine rolle spielt:
paint, bild öffnen, mit füllwerkzeug rotstellen blau/grün/gelb/... färben
speichern.
=> versch. bilder für versch. einheiten
Diese Signatur ist leer.

5k41

BeitragMo, Jun 12, 2006 19:14
Antworten mit Zitat
Benutzer-Profile anzeigen
bei einem einzigen rot-ton könnte man jenen masken, eine neue image erstellen mit einem z.B. blauen recheckt füllen und wieder die image draufmalen also ca. so:
Code: [AUSKLAPPEN]

rot=LoadImage("rot.bmp")
maskimage rot,255,0,0
blau=CreateImage(imagewidth(rot),imageheight(rot))
setbuffer imagebuffer(blau)
color 0,0,255
rect 0,0,imagewidth(rot),imageheight(rot)
drawimage rot,0,0
setbuffer backbuffer()

da dies aber wahrscheinlich nicht der fall sein wird bleibt wohl nur die writepixelfast methode...

MfG
5k41
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

kreisman

BeitragMo, Jun 12, 2006 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
@5k41

genau danach hab ich gesucht!!
Geniale Idee.
thx

[edit]
@PowerProgrammer
Hast du bock für ca. 30 Einheiten,die jeweils 65 Einzelbilder haben diese Bilder für 8 Farben anzupassen?-.- Also ich nicht!
[/edit]
 

icestorm

BeitragMo, Jun 12, 2006 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Würde auch funktionieren, wenn du Photoshop hast, das Bild laden und dann STRG+U und dann den Farbton auswählen.

Schaut ganz gut aus, habs grad mal testweise ausprobiert!

Allerdings haben dann alle Sachen einen kleinen Blauton.

PowerProgrammer

BeitragMo, Jun 12, 2006 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich meinte das auch mit PhotoShop oder so...
Außerdem hättest du das automatisieren können...


5k41s Methode ist wirklich simpel, gute Idee!

Kabelbinder

Sieger des WM-Contest 2006

BeitragDi, Jun 13, 2006 12:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

Ich hab mir das Bild mal näher angeguckt:

-Das Rot besteht erstens aus mehreren Farbtönen, von da her kann man nicht einfach einen Farbton Masken.

-Wenn du dir die letzten Frames mal anguckst, wirst du entdecken, dass auch das Blut rot ist. Das bedeutet, grüne Einheiten werden nachher auch grünes Blut haben Confused .

Ich würde dir vorschlagen, das gesamte Set mit read und Writepixel zu überarbeiten und die Sterbeanimation am Schluss wegzuschneiden. Die kann du ja eben von Hand machen.
So lang dauert das auch nicht.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

stfighter01

BeitragDi, Jun 13, 2006 12:33
Antworten mit Zitat
Benutzer-Profile anzeigen
ich plädiere auch für die photoshop ( od. gimp oä. ) methode.
wenns was ordentliches werden soll.
einfach alle rot-bereiche maskieren und die fehlerhaften bereiche wieder demaskieren -> farbton und fertig.
ca. 5-15 Min pro einheit macht ~5 Stunden arbeit.
akzeptabel für so eine menge einheiten würd ich sagen.
Denken hilft!

DerHase

BeitragDi, Jun 13, 2006 12:44
Antworten mit Zitat
Benutzer-Profile anzeigen
@stfighter und Kabelbinder: Das ist doch schwachsinnig. Man kann 5k41s Methode doch öfters anwenden. Von maskimage bild,255,0,251 bis maskimage bild,255,0,255. Diese 5 wirklich hässlichen Rosarottöne kann man dann durch nen roten, blauen, grünen Farbbereich von hell bis dunkel einfärben. Und das rote Blut wird nichtmal berührt, da es nicht in den RGB bereich zwischen 255,0,251 und 255,0,255 fällt. Man muss dann nur vorher in einem Bildbearbeitungsprogramm den umzufärbenden Bereichen dieses hässliche rosarot verpassen.

Kabelbinder

Sieger des WM-Contest 2006

BeitragDi, Jun 13, 2006 13:07
Antworten mit Zitat
Benutzer-Profile anzeigen
@DerHase: Das würde auch gehen. kreisman hat aber keinen Bock, das mit einem Bildbearbeitungsprogramm umzufärben, was ich gut verstehe. Dauert doch ewig.
Und so wie ich 5k41 verstanden habe, wollte er Die Roten Bereiche direkt umfärben, es sollte ja schnell gehen.

Edit: Ich würde es mir übrigens zweimal überlegen, bevor ich das Wort "Schwachsinn" benutze.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

DerHase

BeitragDi, Jun 13, 2006 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
@Kabelbinder: Jo hast recht, tut mir leid.
Ich bin einfach davon ausgegangen, dass er die Resourcen schonendste Variante sucht, wenig Platzbedarf des Spieles, da die verschiedenen Farben am anfang, schnell generiert werden können und man nicht lange für den Readpixelkram braucht.

kreisman

BeitragDi, Jun 13, 2006 14:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe es übrigens genau so gemacht wie DerHase es beschrieben hat. ^^

Falls es jemanden Interresiert hier meine Function dazu:
Code: [AUSKLAPPEN]


Function LoadUnitColor(image,r,g,b)
 Local tmpimg  = CreateImage(ImageWidth(image),ImageHeight(image))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 MaskImage image,255,0,0
 SetBuffer ImageBuffer(tmpimg)
 Color r,g,b
 Rect 0,0,ImageWidth(image),ImageHeight(image)
 DrawImage image,0,0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 MaskImage tmpimg,206,0,0
 SetBuffer ImageBuffer(image)
 r = r - 49:If r < 0 Then r = 0
 b = b - 49:If b < 0 Then b = 0
 g = g - 49:If g < 0 Then g = 0
 Color r,g,b
 Rect 0,0,ImageWidth(image),ImageHeight(image)
 DrawImage tmpimg,0,0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 MaskImage image,165,0,0
 SetBuffer ImageBuffer(tmpimg)
 r = r - 41:If r < 0 Then r = 0
 b = b - 41:If b < 0 Then b = 0
 g = g - 41:If g < 0 Then g = 0
 Color r,g,b
 Rect 0,0,ImageWidth(image),ImageHeight(image)
 DrawImage image,0,0
 SetBuffer BackBuffer()

 Return tmpimg


End Function




Nochn edit:

mir is nach langen probieren folgendes Problem aufgefallen.Das ganz funktioniert net mit LoadAnimImage.Also benutz ich die Funktion um die Bilder schnell zu bearbeiten und dann auf der Fetspladde zu speichern.
4sec pro Bild Razz

stfighter01

BeitragMi, Jun 14, 2006 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn es funktioniert ist es gut.
mit der lösung ist mein programmierer-herz auch einverstanden Razz
wichtig ist nur das diese lösung nicht im programm drinnenbleibt, sondern die einheiten danach als fertiges produkt gespeichert werden.
sonst könnte es irgendwann komische überraschungen beim hinzufügen neuer einheiten geben.
Denken hilft!

Kryan

BeitragMi, Jun 14, 2006 15:26
Antworten mit Zitat
Benutzer-Profile anzeigen
hat das Bild nur 3 Rot-Töne?? 255,206 und 165??

Ansonsten gäbe es bestimmt geschicktere Methoden!
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

kreisman

BeitragMi, Jun 14, 2006 23:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist richtig, und glücklicherweise hat das Blut einen anderen Rotton.

Baschdi

Betreff: antwort

BeitragSo, Jun 18, 2006 11:18
Antworten mit Zitat
Benutzer-Profile anzeigen
mal ne Frage am Rande:

Machst du mit diesen Bilder ein Strategiespiel á la Starcraft oder Warcraft????
The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden

kreisman

BeitragSo, Jun 18, 2006 20:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ne ein Rundenstrategiespiel á la Civilization.Ich benutz diese Grafik im moment nur als Platzhalter.

Baschdi

Betreff: .:.:.:.

BeitragFr, Jun 23, 2006 14:24
Antworten mit Zitat
Benutzer-Profile anzeigen
aso...na dann viel Glück!!! Very Happy
The_Baschdi@
Wer in Ogame is soll sofort zum Orden wechseln (D.O.) --- Alle Macht dem Orden

Shinkiro1

ehemals "Espada"

BeitragMi, März 18, 2009 23:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß nicht ob ich dich richtig verstanden habe aber wolltest du einfach nur die Rottöne in andere Farben umfärben?
Ich hab das mal in Paint.Net gemacht, ~ 2 min.

user posted image

Und nach ein mal Umfärben braucht man immer nur einen Schritt um es anders umzufärben.
Aber du hast ja schon eine Lösung.
Blog :: Ein RPG in 3 Monaten erstellen
Twitter :: News zum Projekt

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group