Transparenz - aber wie?
Übersicht

![]() |
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


Powered by phpBB © 2001 - 2006, phpBB Group