SetMaskColor ?

Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

gamble

Betreff: SetMaskColor ?

BeitragFr, Jan 07, 2005 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

bin grad noch ein wenig am rum-experimentieren:

Code: [AUSKLAPPEN]

Graphics 1024,768,16,1

SetMaskColor 255,255,255

AutoMidHandle enabled

f18 = LoadImage("f18.png", MASKEDIMAGE)

Repeat

   cls
   
   DrawImage f18,700,300
   
   flip

Until KeyHit(KEY_ESCAPE)


Nun, ich kann mich aber auch auf den Kopf stellen: Das Weiß bleibt. Wahrscheinlich hab ich einfach irgendwas vergessen... aber ich hab keine Idee was?

Danke

gamble

edit

Fehler gefunden: Hätte lieber gleich JPG anstatt von PNG nehmen sollen Wink
 

morszeck

BeitragSa, Jan 08, 2005 14:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Graphics 1024,768,32,1

Suco-X

Betreff: .......

BeitragSa, Jan 08, 2005 15:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Und vergiss jpg schnell wieder.
Das jpg Format zerstört deine Bilder wegen dem Qualitätsverlust. Und sowas hat in Games nichts verloren. Abgesehen davon wirst du noch ganz andere Mask Probleme damit bekommen.
Mfg Suco
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB
 

gamble

BeitragSa, Jan 08, 2005 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, soweit bin ich mittlerweile auch schon. Hatte bloß das komische Problem, dass das JPG im Gegensatz zum PNG richtig angezeigt wurde. Das PNG geht nun aber auch.

Kann geschlossen werden.

Jolinah

BeitragSa, Jan 08, 2005 18:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei PNG muss man nur darauf achten dass man auch wirklich mit dem Alphachannel arbeitet beim Bild machen, statt weissem Hintergrund etc.
Zusätzlich sollte man SetBlend ALPHABLEND vor dem Zeichnen aufrufen.

Dann funktioniert es aber Super Smile

DivineDominion

BeitragSa, Jan 08, 2005 23:25
Antworten mit Zitat
Benutzer-Profile anzeigen
PaintShop Pro 7 speichert für mich keine transparenten GIFs. Geht mit MASKEDIMAGE superb
christian.tietze@gmail.com - https://christiantietze.de
macOS
 

Dogg0

BeitragSa, Aug 20, 2005 9:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich bin leider zu blöd das zu kapieren...
Bitmap funktioniert, PNG nicht
Muss ich beim png abspeichern irgendwas beachten?


Code: [AUSKLAPPEN]

graphics 1024,768,32

SetMaskcolor(0,0,0)

Image = LoadAnimImage(URL, TileWidth, TileHeight, FirstTile, NumTiles, MASKEDIMAGE)


Im Gameloop:
SetBlend MASKBLEND
SetRotation(mwinkel#)
DrawImage (image, getX(), getY(), CurAnimFrame)


Wäre echt top wenn jemand eine Lösung wüsste

Artemis

BeitragSa, Aug 20, 2005 10:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Jolinah hat Folgendes geschrieben:
Bei PNG muss man nur darauf achten dass man auch wirklich mit dem Alphachannel arbeitet beim Bild machen, statt weissem Hintergrund etc.
Zusätzlich sollte man SetBlend ALPHABLEND vor dem Zeichnen aufrufen.

Dann funktioniert es aber Super Smile


Das sollte es erklären
 

Dogg0

BeitragSa, Aug 20, 2005 10:30
Antworten mit Zitat
Benutzer-Profile anzeigen
JonasCleve hat Folgendes geschrieben:
Jolinah hat Folgendes geschrieben:
Bei PNG muss man nur darauf achten dass man auch wirklich mit dem Alphachannel arbeitet beim Bild machen, statt weissem Hintergrund etc.
Zusätzlich sollte man SetBlend ALPHABLEND vor dem Zeichnen aufrufen.

Dann funktioniert es aber Super Smile


Das sollte es erklären



Idea

Embarassed

rema

BeitragSa, Aug 20, 2005 12:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Also als kostenfreies und gutes Gfx-Programm so nimm www.gimp.org

Für Windows wie auch für Linux.

Fetze

BeitragMo, Sep 05, 2005 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann mir mal jemand sagen, warum >dieses< Bild weisse Ränder beim Drehen bekommt? Da ist nichts weiss, alles Alphachannel, die Maskcolor steht für andere Bilder auf "Schwarz". Das sollte aber doch dank Alphachannel keine Probleme machen?

Wurde mit Photoshop abgespeichert, kein "Interlancing" oder wie das Ding heisst. Auch nicht komprimiert.


Edit:
Ich hab das ganze der vollständigkeit halber auch mal mit einer weissen Maskcolor getestet. Funktioniert wie erwartet auch nicht. Woher kommt dieser Weisse Rand?! Meine Imageflags sind auf Standard, also MASKED und FILTERED. Ich habs auch mal ohne FILTERED und auch mal ohne MASKED probiert, funktioniert ebenfalls nicht.

Edit2:
Achja, auch für ALPHABLENd hab ich gesorgt.

Edit3:
Habe gerade beim testen bemerkt, dass der weisse Rand auch sichtbar ist, wenn ich ein Bild an eine Fließkomma-Position malen lasse. Also in jedem Fall, wenn es gefiltert wird. Mit Bmp und einer schwarzen Maske hatte ich solche Probleme nie, warum jetzt? Was funktioniert an meinem Png-Alphachannel nicht? oO

Hier ein Codebeispiel mit dem Fehler:
BlitzBasic: [AUSKLAPPEN]

Graphics 800, 600, 0

test=LoadImage(\"hammer.png\")
SetBlend ALPHABLEND
MidHandleImage test

While Not KeyHit(KEY_ESCAPE)
Cls

angle:+1
SetRotation angle
DrawImage test, 100, 100

Flip
Wend


Edit4:
Inarie hat mir das Bild mal ohne Farbinformationen für Transparenzpixel gespeichert. Das funktionierte. Aber es kann doch nicht wahr sein, dass das der einzige mögliche Weg ist... dann wäre der Alphachannel der Pngs ja quasi sinnlos in Blitzmax: Entweder gewohntes 0/100-Alpha oder eben Ränder.... Confused

...Ich wäre nach wie vor über etwas Hilfe sehr glücklich.

Fetze

BeitragMo, Sep 05, 2005 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Gut, da scheinbar niemand weis, woran es liegt, sich aber im BB.Com-Forum ergeben hat, dass das ganze mit der Grafikkarte zusammenzuhängen scheint, bitte ich euch darum, das Programm mal zu starten und mir euer System (Graka, Graka Treiber, Windows) sowie das Vorhandensein oder Nichtvorhandensein einer weissen Umrandung mitzuteilen.

Bigmichi

BeitragDi, Sep 06, 2005 6:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Rand NICHT vorhanden:

Debian / Ubuntu
Aktuellsten ATI Treiber mit Hardware beschleunigung
Ati readon 9800 Pro
 

IonPainter

BeitragDi, Sep 06, 2005 17:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Rand NICHT vorhanden.

Arrow
ATI Treiber 5.8 (Aktuelle Version)
ATI Radeon 9800 XT
Windows

Arrow
ATI Treiber 8.16.20
ATI Radeon 9800 XT
Fedora Linux Core 4

Fetze

BeitragDi, Sep 06, 2005 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm, seltsam. Naja, habe jedenfalls herausgefunden, wie es auf alles Grakas läuft: Wenn man dafür sorgt, dass 100% transparente Pixel nicht bzw. als "schwarz" abgespeichert werden, gibts keine Probleme. Photoshop speichert gelöschte Pixel intern als "weiss, 100% transparent" und speichert auch entsprechend. Das führt auf einigen Grafikkarten dazu, dass die - scheinbar nicht immer - für das Antializing hinzugezogenen 100% transparenten Pixel die sichtbaren Randpixel verfälschen.

soli

BeitragMo, Okt 17, 2005 3:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie sorgst du dafür das die transparenten Pixel als schwarz gespeichert werden? Werden dann nicht schwarze Ränder angezeigt, wenn du z.B. einen weissen Hintergrund wählen würdest?
solitaire

Fetze

BeitragMo, Okt 17, 2005 10:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab aber schwarzen Hintergrund und schwarze Outlines Laughing
Also theoretisch ja, gibt schwarze Ränder. Aber schwarze Ränder fallen im allgemeinen nicht so sehr auf wie weisse.

Jan_

Ehemaliger Admin

BeitragMo, Okt 17, 2005 10:33
Antworten mit Zitat
Benutzer-Profile anzeigen
mache es in eine Andere Größe, ala 64x32 und nicht 39x29
between angels and insects

Fetze

BeitragMo, Okt 17, 2005 10:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Was hat denn das damit zu tun? oO

Jan_

Ehemaliger Admin

BeitragMo, Okt 17, 2005 10:53
Antworten mit Zitat
Benutzer-Profile anzeigen
die TExture muss beim Laden umscaliert werden, vielleicht, gibtts dort ja nen Bug.
between angels and insects

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group