verdunkeln/erhellen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

flexo

Betreff: verdunkeln/erhellen

BeitragMo, Nov 01, 2004 14:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey ihr,
wer kann mia helfen:
Ich möchte einen bestimmten teil von meiner "sichtbaren oberfläche"
verdunkeln bzw erhellen. ich hab schon öfters was von irgentwelchen "alphawerten" und so gehört, kenn aber keinen befehl oder so dazu...
bitte um hilfe Wink
Du bist eizigartig - genau wie jeder andere auch.

Kabelbinder

Sieger des WM-Contest 2006

BeitragMo, Nov 01, 2004 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht nur in BB3D. Ich BB2D musst du die Pixel Einzeln dunkeln, oder erhellen und dann daraus das Bild zusammensetzen.
<Wing Avenger Download> ◊◊◊ <Macrophage Download>
 

cavebird

BeitragMo, Nov 01, 2004 18:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit B3D ist das auch für einen Neuling kein Problem, lies RM´s Buch.
MegaUpload.de -- Uploade bis zu 2MB pro Bild !!DEIN PARTNER IN SACHEN UPLOAD --bitte weiterempfehlen, nur so können wir bekannt werden...

Paul

BeitragMo, Nov 01, 2004 20:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Leute, am kann doch auch einfach helfen Wink

Diese Befehle dürften das sein, was du suchst: http://www.blitzbase.de/menu/2f.htm

Paul

[edit] fuck nicht genau genug gelesen, vergiss die befehle!
Stratocaster black - Roland MicroCube
User posted image
Girgl-World, wer's nich kennt, is' blöd!

flexo

BeitragMo, Nov 01, 2004 21:27
Antworten mit Zitat
Benutzer-Profile anzeigen
eh paul, ich laub des is schon des wonach ich suche.
helligkeit per gamma (sry nich alpha ^^) werten verändern...
Du bist eizigartig - genau wie jeder andere auch.

Firstdeathmaker

BeitragMo, Nov 01, 2004 23:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Problem dabei ist nur, dass du das nicht auf bestimmte Bildschirmbereiche begrenzen kannst.
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

Freeman

BeitragDi, Nov 02, 2004 8:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics3D 800,600,32,2
setbuffer backbuffer()

; 3D einstellungen für die Dunkelheit/Helligkeit
camera=CreateCamera()
Sprite   = CreateSprite()
brush = CreateBrush (1,1,1 )
transparency# = 0.7     ; hier stellste die Dunkelheit ein


PaintEntity Sprite,brush
EntityAlpha Sprite,transparency#
PositionEntity sprite,0,0,1

while not keydown(1)
cameraclsmode camera,0,1
cls

; Befehle

renderworld()

;2D Befehle

flip
wend





FrEeMaN

flexo

BeitragDi, Nov 02, 2004 20:22
Antworten mit Zitat
Benutzer-Profile anzeigen
jo, also, ich brauchs nur für BB oder B+ ^^
naja, man könnte ein image creieren und auf dem die helligkeit umstellen??
also dass man mit dem imagebuffer auf dem bild die helligkeit verändert..
oder verändert der befehl den ganzen bildschirm und nicht nur den aktuellen buffer?!
Du bist eizigartig - genau wie jeder andere auch.

Freeman

BeitragDi, Nov 02, 2004 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
interessante mischung BB und B+ ^^. Naja also ich schwöre dir du wirst in der onlinehilfe fündig, abeer ich weis das du ohne B3D wohl keinen schnellen Befehl finden wirst mit dem du dein Problem lösen kannst. was ich davor gepostet habe is wohl ganz sinnvoll, kannste aber leider nich nutzen. Viel Glück

FrEeMaN

flexo

BeitragDi, Nov 02, 2004 21:53
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm naja, los gehts: online hilfe studieren; bis jetzt bin ich drumrumgekommen ^^
naja, also thx!

mfg flexo
Du bist eizigartig - genau wie jeder andere auch.
 

David

BeitragMi, Nov 03, 2004 8:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Selbst schult, hättest du mit dem "studieren der OH" früher angefangen müsstest du jetzt nicht sowas fragen...

In Blitz2D musst du dir allerdings selbst was zusammenbasteln. Du könntest z.B. das gewünschte Rechteck in ein Image kopieren und zu jedem Pixel einen bestimmten Wert hinzuaddieren. Danach pinselst du das Image auf den Bildschirm.

Ich glaube allerdings nicht, das diese Methode besonders schnell ist, gerade bei großen Bereichen die "erhellt" werden sollen...

grüße
http://bl4ckd0g.funpic.de

wunderkind

BeitragMi, Nov 03, 2004 10:09
Antworten mit Zitat
Benutzer-Profile anzeigen
David hat Folgendes geschrieben:
Du könntest z.B. das gewünschte Rechteck in ein Image kopieren und zu jedem Pixel einen bestimmten Wert hinzuaddieren. Danach pinselst du das Image auf den Bildschirm.


Diese Methode wird dir das unschöne Bluten verursachen. Siehe auch https://www.blitzforum.de/viewtopic.php?t=5592
 

David

BeitragMi, Nov 03, 2004 10:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Nein, wieso sollte es?
Man muss eben darauf achten das die Farbwerte im korrekten Bereich bleiben.

grüße
http://bl4ckd0g.funpic.de
 

David

BeitragMi, Nov 03, 2004 11:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Code: [AUSKLAPPEN]

Graphics 640, 480, 32
SetBuffer BackBuffer()

HidePointer

Global g_imgBackground = LoadImage( "test.bmp" )

While Not KeyHit( 1 )
   Cls
   
   TileImage g_imgBackground
   DrawMouseRect( 50, 50, 130 )
   
   Flip
Wend

End

Function Clamp( val, min, max )
   If ( val < min ) val = min
   If ( val > max ) val = max
   
   Return val
End Function

Function DrawMouseRect( width, height, bright )
   xPos = MouseX() - width / 2
   yPos = MouseY() - height / 2
   
   If ( xPos < 0 ) Then xPos = 0
   If ( xPos + width > GraphicsWidth() ) Then xPos = GraphicsWidth() - width
   If ( yPos < 0 ) Then yPos = 0
   If ( yPos + height > GraphicsHeight() ) Then yPos = GraphicsHeight() - height
   
   Color 0, 0, 0
   Rect ( xPos, yPos, width, height, 0 )
   
   buffer = CreateImage( width, height )
   CopyRect( xPos, yPos, width, height, 0, 0, BackBuffer(), ImageBuffer( buffer ) )
   
   SetBuffer( ImageBuffer( buffer ) )
   LockBuffer( ImageBuffer( buffer ) )
   
   For x = 0 To width
      For y = 0 To height
         srcRGB = ReadPixelFast( x, y, ImageBuffer( buffer ) )
         
         srcR   = ( srcRGB And $ff0000 ) Shr 16
         srcG   = ( srcRGB And $ff00 ) Shr 8
         srcB   = ( srcRGB And $ff )
         
         dstR   = Clamp( srcR + bright, 0, 255 )
         dstG   = Clamp( srcG + bright, 0, 255 )
         dstB   = Clamp( srcB + bright, 0, 255 )
         
         dstRGB = dstR Shl 16 Or dstG Shl 8 Or dstB
         
         WritePixelFast( x, y, dstRGB, ImageBuffer( buffer ) )
      Next
   Next
   
   UnlockBuffer( ImageBuffer( buffer ) )
   SetBuffer( BackBuffer() )
   
   DrawImage( buffer, xPos, yPos )
End Function


So, das hab ich mal zusammengehackt... :/
Wie gesagt ist es aber ultra lahm! Smile

grüße
http://bl4ckd0g.funpic.de

flexo

BeitragMi, Nov 03, 2004 13:41
Antworten mit Zitat
Benutzer-Profile anzeigen
wow thx, komm ich wohl doch um die onlinehilfe rum?!
^^
nee, ich muss mir die sowieso mal vornehmen...
Du bist eizigartig - genau wie jeder andere auch.
 

David

BeitragDo, Nov 04, 2004 0:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Wenn es um ein statisches Bild geht, kannst du das Bild bei Programmstart vorher schon aufhellen und den gewünschten Teil über das Original zeichnen.
Das ist schneller wie jedesmal alles neu zu errechnen, aber funktioniert halt nur mit statischen Bildern.

grüße
http://bl4ckd0g.funpic.de

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group