Transparenz - aber wie?
Übersicht
BlitzBasic
Allgemein|
|
Te(Y)HouseBetreff: Transparenz - aber wie? |
Antworten mit Zitat |
|---|---|---|
|
Hi Leuz,
ich komme irgendwie net hinter das Geheimniss > Wie kann ich Transparenz bei Bildern auf möglichst net zu komplizierte weise erzeugen? Hier mal ein kleines Beispiel wie ich das meine:
Danke schonmal für die Hilfe... Mfg. Te(Y)House |
||
|
|
StepTiger |
Antworten mit Zitat |
|---|---|---|
|
auf unkomplizierte weise? gar nicht
getcolor color plot readpixel writepixel readpixelfast writepixelfast und etwas Mathe |
||
|
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
||
|
|
pixelshooter |
Antworten mit Zitat |
|---|---|---|
| guck mal ins codearchiv | ||
| >> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc | ||
|
|
Te(Y)House |
Antworten mit Zitat |
|---|---|---|
| habe nachgesehen... die Lösung im Archiv funtzt zwar... aber irgendwie net so das was ich gesucht habe... ka... gibt es net irgendwie ne DLL dafür? | ||
|
|
BladeRunnerModerator |
Antworten mit Zitat |
|---|---|---|
|
Dafür braucht es keine Dll wenn Du Besitzer von B3D bist, dann kannst du es mit Sprites machen.
Was stört dich an dem Code aus dem Archiv ? |
||
|
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
||
|
|
PowerProgrammer |
Antworten mit Zitat |
|---|---|---|
|
Wahrscheinlich die Geschwindigkeit |
||
| www.xairro.com Alles für Webmaster und Programmierer! Es gibt mehr als bloß einen Counter! | ||
|
|
Schranz0r |
Antworten mit Zitat |
|---|---|---|
|
Ich mach das über die Grafik selber als beispiel
Ein Bild das Blau ist soll halb transperent gemacht werden, dann mach ich das so(Denk dir das in Pixeln 0 = Blau, 1 = Schwarz(Mask auf schwarz!) 01010101010101010101010101010101 10101010101010101010101010101010 01010101010101010101010101010101 10101010101010101010101010101010 Da brauchst du nur ein Zeichenprogramm, dass das kann über Plugins(Filter) oder so... |
||
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
||
|
|
D2006Administrator |
Antworten mit Zitat |
|---|---|---|
| Das von Schranzor beschriebene Verhalten kannst du aber imho vergessen, wenn sich die Grafik bewegen soll. Dann flimmert das so eklig, was man wohl nur mit 2px Schritten umgehen kann. | ||
|
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 |
||
|
|
BobrOOney |
Antworten mit Zitat |
|---|---|---|
|
Hilft Dir das weiter?
Dim alphaimage(GraphicsWidth (),GraphicsHeight ()) Function drawalphaimage(pic,x,y,a,mask_r,mask_g,mask_b,heller=0) ;a=0(transp)-100(deckend),mask_x=Farbmaske If a <= 0 Then Return SetBuffer ImageBuffer(pic) ;einlesen des Bildes LockBuffer ImageBuffer(pic) For scanx = 0 To ImageWidth(pic)-1 For scany= 0 To ImageHeight(pic)-1 alphaimage(scanx,scany)=ReadPixelFast(scanx,scany) Next Next UnlockBuffer ImageBuffer(pic) SetBuffer BackBuffer() ; auslesen des Hintergrundes und LockBuffer BackBuffer() ; mischen und malen der neuen Pixel For scanx = 0 To ImageWidth(pic)-1 For scany= 0 To ImageHeight(pic)-1 rgb2=ReadPixelFast(scanx+x,scany+y) rbg=(rgb2 And $FF0000)/$10000 gbg=(rgb2 And $FF00)/$100 bbg=rgb2 And $FF rpic=(alphaimage(scanx,scany) And $FF0000)/$10000 gpic=(alphaimage(scanx,scany) And $FF00)/$100 bpic=alphaimage(scanx,scany) And $FF If Not rpic = mask_r And gpic = mask_g And bpic = mask_b rneu=rbg*(1.0-(a/100.0))+rpic*a/100.0 gneu=gbg*(1.0-(a/100.0))+gpic*a/100.0 bneu=bbg*(1.0-(a/100.0))+bpic*a/100.0 rgbneu=255*$1000000 + rneu*$10000 + gneu*$100 + bneu If rgbneu+heller>255 Then rbgneu=255 Else rgbneu=rgbneu+heller End If WritePixelFast(scanx+x,scany+y,rgbneu) EndIf Next Next UnlockBuffer BackBuffer() End Function Das Problem ist nur, wenn man das Bild rausbewegt, gibts ne Fehlermeldung. Weiß vielleicht Jemand ne Lösung? |
||
|
---<< Cool down in Temper City! >>---
http://www.ShadowVision-Soft.com |
||
|
|
Lunatix |
Antworten mit Zitat |
|---|---|---|
|
Writepixel/fast geht nicht über den screen raus Ausserdem is das für'n arsch was ihr hier macht, da Blitz3D sprites hat -.- sucht mal nach 2D²3D - google, forensuche, http://www.unrealsoftware.de mfg JP |
||
|
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
||
|
|
Triton |
Antworten mit Zitat |
|---|---|---|
Schau doch mal etwas genauer in unser Codearchiv |
||
| Coding: silizium-net.de | Portfolio: Triton.ch.vu | ||
Übersicht
BlitzBasic
Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group


