LoadAnimImage = Nicht transparent?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

kog

Betreff: LoadAnimImage = Nicht transparent?

BeitragDi, Jan 31, 2006 23:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Guten Tag miteinander Wink

Ich habe seid einigen Tagen das gleiche problem:

Bei mir lässt sich das folgende bild einfach nicht transparent machen...

Code: [AUSKLAPPEN]
Global test=LoadAnimImage("gfx/test.bmp",32,32,0,7)
MaskImage test,255,0,255


und so sieht das Bild aus:
user posted image

Ich bitte euch, hilft mir

preachie

BeitragDi, Jan 31, 2006 23:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Welche Farbtiefe verwendest Du, 16 oder 32 Bit?

Solltest Du weniger als 32 Bit verwenden, teste es mal mit 32 Bit Wink

Gruß
Preachie

kog

BeitragDi, Jan 31, 2006 23:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich benutze 32 Bit:
Graphics 640,480,32,2

preachie

BeitragDi, Jan 31, 2006 23:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm,

mit Deinem Bild und dem absolut Mini-Code

Code: [AUSKLAPPEN]
Graphics 640,480,32,2

Global test=LoadAnimImage("test.bmp",32,32,0,7)
MaskImage test,255,0,255

DrawImage test,20,20,1


funktioniert das bei mir fehlerfrei...
Unter Blitz3D 1.91

Welches Blitz setzt Du ein?

Gruß
Preachie

kog

BeitragDi, Jan 31, 2006 23:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe den Fehler gefunden Very Happy
Ich habe anstatt DrawImage, habe ich DrawBlock benutzt -.-

kog

BeitragDi, Jan 31, 2006 23:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber wenn ich schon ein Thread offen habe, kann ich auch gleich meine 2. Frage stellen:
Gibt es eine möglichkeit ohne B3D befehle ein Halbtransparentes Rect zu machen?

user posted image

Ich möchte gerne einen Kleinen Kriegnebel einbauen, und da sieht das dumm aus wenn alles Schwarz ist:
Code: [AUSKLAPPEN]
   For x=0 To 16
      For y=0 To 16
         DrawImage tileset,(x*32)-scrollx,(y*32)-scrolly,map(x,y,1)
         If layer(x,y)=1 Then
            Color 0,0,0
            Rect (x*32)-scrollx,(y*32)-scrolly,32,32,1
         End If
         If map(x,y,2)<>0 Then
            DrawImage test,(x*32)-scrollx,(y*32)-scrolly,map(x,y,2)
         End If
      Next
   Next


P.S.: Grafiker gesucht ^^ Wie man unschwer an den Bildern erkennen kann...

D2006

Administrator

BeitragDi, Jan 31, 2006 23:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Für die Übergänge zum tiefen schwarz kannst du FakeTransparenz benutzen.

Siehe dazu hier.

MfG
D2006
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

kog

BeitragDi, Jan 31, 2006 23:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja ich weiss das ist jetzt vielleicht eine kleine Newbe Frage, aber ich stelle sie trozdem:
Könntest du mir ein Beispiel geben wie das funktioniert?

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Feb 01, 2006 1:53
Antworten mit Zitat
Benutzer-Profile anzeigen
@kog, so wie du deine Häuser transparent gemacht hast, kannst du Images erstellen die dieses Muster beinhalten... Überall wo es dann 'transparent' sein soll, malst du das Bild dann drüber...

kog

BeitragMi, Feb 01, 2006 17:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm sry, irgendwie komme ich nicht ganz mit, was du meins

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Feb 01, 2006 18:07
Antworten mit Zitat
Benutzer-Profile anzeigen
D2006 hat dir bereits ein Beispiellink gegeben wo eine Möglichkeit demonstriert wird, wie man Transparenz 'faken' kann. Indem du ein Image erstellst wo jeder zweite Pixel eine bestimmte Fabre hat und die anderen die gesetzte MaskImage-Farbe... Ein solch erstelltes Image wirkt auf die Map gezeichnet, wie ein 'halbtransparentes' Sprite...

EDIT/ Nimm doch dein "gfx/test.bmp" und zeichne an der letzten Position ein solches Muster rein und versuche es mal dann über die Map zeichnen zu lassen.

aMul

Sieger des Minimalist Compo 01/13

BeitragMi, Feb 01, 2006 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

dark=createimage(32,32)                       ;für 32 deine Feldgröße angeben...
maskimage dark,255,0,255

setbuffer imagebuffer(dark)

for x=1 to 32                                 ;hier wieder 32 durch Feldgröße ersetzen
   for y=1 to 32                              ;und hier auch
      if (x+y)mod 2=0 then
         color 0,0,0
      else
         color 255,0,255
      endif
      plot x,y
   next
next

;und dieses Bild Legst du an den nicht sichtbaren Stellen über deine Map...
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

D2006

Administrator

BeitragMi, Feb 01, 2006 18:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach mit Paint ein Bild. Zum Beispiel 64x64 Pixel groß. Fülle nun das gesamte Bild mit einer Transparenzfarbe deiner Wahl (zB 255,0,255). Nun machst du schwarze, diagonale Linien rein, und zwar so, dass kein schwarzer Pixel direkt neben oder über einem anderen ist. Zum Schluss sollte natürlich auch kein Transparenz Pixel neben oder über einem anderen sein. Speichern. In BB laden und MaskImage Transparenzfarbe machen (zB 255,0,255). Nun ist überall wo du mit Drawimage dieses Bild ist ein Halbschatten. Am besten im beim Übergang von komplett Schatten zu keinem Schatten.

MfG
D2006
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

kog

BeitragMi, Feb 01, 2006 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
So?:
user posted image

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group