Transparenz von JPG ändern

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Cerbus

Betreff: Transparenz von JPG ändern

BeitragMo, Aug 30, 2004 0:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Hab schon bei "suche" alles durchsucht, aber nicht das gefunden was ich brauche.
Meine Frage.
Gibt es eine Möglichkeit Bilder (beispielsweise JPG)
die Tranzparents zu verändern?
Ich meine ein Bild das zuerst nicht sichtbar ist, langsam sichtbar zu machen. Sprich das Bild einfaden lassen.
Irgendwie hänge ich an diesem kleinen Prob.
Hoffe ihr könnt mir helfen. Smile
 

Timo

BeitragMo, Aug 30, 2004 0:59
Antworten mit Zitat
Benutzer-Profile anzeigen
joa indirekt mit ner AlphaEngine...
Hier gabs mal eine da bin ich mir sicher, musste mal suchen...

Cerbus

BeitragMo, Aug 30, 2004 1:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok. Danke für die schnelle Antwort muss ich mal schauen. =)
Wenn wer noch andere Möglichkeiten weiß, kann er sie auch noch gerne Posten. Wink

Hubsi

BeitragMo, Aug 30, 2004 8:22
Antworten mit Zitat
Benutzer-Profile anzeigen
bruZ hat sowas mal gebastelt:Code: [AUSKLAPPEN]
; Werte: Blender Grafik,xpos,ypos,ein/ausblenden,zeit in Millisecs

b1=LoadImage("gfx/1.bmp")
b2=LoadImage("gfx/2.bmp")
b3=LoadImage("gfx/3.bmp")

Blender b1,170,190,0,3000
Blender b1,170,190,1,2000
Blender b2,170,190,0,3000
Blender b2,170,190,1,2000
Blender b3,170,190,0,3000
Delay 1200
Blender b3,170,190,1,2500
FreeImage b1:FreeImage b2:FreeImage b3

; Die eigentliche Function

Function Blender(Image, X, Y, Mode,Time)
 Source=ImageBuffer(Image)
 Dest  =FrontBuffer()
 MaxX  =ImageWidth(Image)-1
 MaxY  =ImageHeight(Image)-1
 Start =MilliSecs()
 Color 0,0,0
 If Mode=0 Then Rect X,Y,MaxX+1,MaxY+1
 If Mode=1 Then DrawBlock Image,X,Y
 LockBuffer Source
 LockBuffer Dest
 While MilliSecs()-Start<Time
  Count=(Count+1) Mod 4
  If Count=0 Then MinX=0: MinY=0
  If Count=1 Then MinX=1: MinY=1
  If Count=2 Then MinX=1: MinY=0
  If Count=3 Then MinX=0: MinY=1
  If Mode=0 Then Value=MilliSecs()-Start
  If Mode=1 Then Value=Time-MilliSecs()+Start
  For ii=MinY To MaxY Step 2
   For i=MinX To MaxX Step 2
    rgb=ReadPixelFast(i,ii,Source)
    rgb=(rgb And 16711680)/65536*Value/Time*65536+(rgb And 65280)/256*Value/Time*256+(rgb And 255)*Value/Time
    WritePixelFast X+i,Y+ii,rgb,Dest
   Next
  Next
 Wend
 UnlockBuffer Source
 UnlockBuffer Dest
 If Mode=0 Then DrawBlock Image,X,Y
 If Mode=1 Then Rect X,Y,MaxX+1,MaxY+1
End Function
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

Omenaton_2

BeitragMo, Aug 30, 2004 9:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn es um Transparenz oder gar um Maskierung geht, nimm kein JPG, da dabei die Farbwerte nicht exakt die bleiben wie beim anspeichern angezeigt wird. Nimm dafür BMP oder TGA.

Cerbus

BeitragMo, Aug 30, 2004 11:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen dank!
Werd mal den Code genauer unter die Lupe nehmen. Very Happy
 

denial

BeitragMo, Aug 30, 2004 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Timo hat Folgendes geschrieben:
joa indirekt mit ner AlphaEngine...
Hier gabs mal eine da bin ich mir sicher, musste mal suchen...


Faszinierend, was so alles als Engine bezeichnet wird. Smile
Ich hab jetzt im Übrigen eine ziemlich gute Mauszeiger-Engine programmiert:

Code: [AUSKLAPPEN]

DrawImage engine_mouse,MouseX(),MouseY()


Very Happy

D2006

Administrator

BeitragMo, Aug 30, 2004 16:17
Antworten mit Zitat
Benutzer-Profile anzeigen
warum kompliziert, wenns auch einfach geht ???

Hier meine Fade-Engine Wink

Code: [AUSKLAPPEN]

For t=0 To 255
   l=t/100.0*light#
   SetGamma t,t,t,l,l,l
Next
UpdateGamma


einfach in die Schleife. light# von 0 bis 100, wobei 0 schwarz und 100 nicht transparent ist.

Damit fadest du denn ganzen Bildschirm, nicht nur ein Bild.
Kann man also auch nach nem Game Over oder so verwenden.

MfG
D2006

Firstdeathmaker

BeitragMo, Aug 30, 2004 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
^ Man hat aber ein Problem wenn man nur ein einziges Bild, oder z.B. nur den Spielbereich so bearbeiten möchte. Ein Kollege von mir hat das für den Tag/Nachtwechsel missbraucht, aber die ganzen Spielkontrollen färben sich ja leider mit ein.
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

TheShadow

Moderator

BeitragMo, Aug 30, 2004 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
bruZ hat sowas mal gebastelt:...

nö das war wohl ich... und das ist nur dazu da, ein bild von schwarz einzublenden (und dann ausblenden) - also nix mit alpha... Ist nicht sooo schnell... Für Bilder mit max 16 Farben gibt es einen Turbofader, den ich mal gecodet hab... Geht aber nur mit bmp's
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

TheProgrammer

BeitragMo, Aug 30, 2004 19:44
Antworten mit Zitat
Benutzer-Profile anzeigen
schaut mal bei http://www.blitzbase.de/2c.htm
unter "Fader *"
aktuelles Projekt: The last day of human being
 

Timo

BeitragMo, Aug 30, 2004 19:55
Antworten mit Zitat
Benutzer-Profile anzeigen
das was ich meinte hieß AlphaEngine, Name nicht von mir , hab ihn benutzt !! Ich kann ja auch MachTranzparentRoutine sagen, aber das andere hört sich besser an

D2006

Administrator

BeitragMo, Aug 30, 2004 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
@TheProgrammer:
Das Sternchen bedeutet, dass der Autor der Seite es geschrieben hat.
Wie's der Teufel will ist das "zufällig" TheShadow. Nur so als Hinweis.

MfG

Hubsi

BeitragMo, Aug 30, 2004 22:58
Antworten mit Zitat
Benutzer-Profile anzeigen
TheShadow hat Folgendes geschrieben:
nö das war wohl ich...
Ups Embarassed Ich bitte tausendmal um Entschuldigung Wink
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Cerbus

BeitragMo, Aug 30, 2004 23:07
Antworten mit Zitat
Benutzer-Profile anzeigen
ach du ..... muss man dafür viel schreiben. ^^
Das von TheShadow sieht stark aus, hat aber auch sehr viele Zeilen...
Muss mir das erst mal ganz genau anschauen bis ich da hinter steig, wo der Trick dabei ist. Wink

Aber bin auf jedenfall ein ganzes Stück weiter. =)
Vielen dank für eure super Hilfe! Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group