Bild Abdunkeln
Übersicht

![]() |
ToeBBetreff: Bild Abdunkeln |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo !
Ich bin die ganze zeit am rumbasteln, aber es dauert mir einfach zu lange, und zwar ein Bild (z.B. 800*600) abzudunkeln. Ich mache das mit LockBuffer und Readpixelfast, dann noch die Farben berechnen und dann wieder hinmalen mit WritePixelFast. Auch geh ich von 0 bis 800 in 2er schritten, und male die pixel dazwischen mit (also statt jeden einzelln male ich immer 4. Ist aber immer noch zu langsam. 1. : Kennt jemand ne schnellere Methode, NUR EIN BILD abzudunkeln ohne 3D ? (Soll rein 2D sein) 2. : Die Farbwerte habe ich immer so berechnet, das ich aus der Hexa-Zahl die r/g/b fraben rausgefunden hab, dann den farbwert dazugerechnet (abgezogen) und dann wieder daraus eine Hexa-Zahl gemacht und gemalt habe. Gibts eine Möglichkeit direkt mit dem Hex-Code zu rechnen ? mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
Sterbendes Lüftlein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Text entfernt | ||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du gehst einfach statt jeden einzellnen Pixel jeden zweiten durch, und ergänz die fehlenden 3 durchgänge manuell mit 3 weiteren Auslese/Mal befehlen...
mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
Sterbendes Lüftlein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Text entfernt | ||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bezweifle zwar, dass 800*600 Pixel mit Read/WritePixelFast noch wirklich flüssig darzustellen sind - noch dazu wo diese Befehle von neueren Graphikkarten ja schlechter supported werden (oder?).
Aber zu deiner Frage, ob man auch Hex-Werte erhöhen / verringern kann ohne in RGB umzuwandeln. Grad ne Idee gehabt und sie funktioniert ^^ BlitzBasic: [AUSKLAPPEN] Local rgb=123456 Also du gibst die Änderung für RGB ein so wie hier das $010101 für 1,1,1. (vergleiche mit HTML-Farbnotation) mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja danke, hab ich grad schon selber rausgefunden ![]() Aber ich brauch es auch nicht echtzeit nur will ich den benutzer nicht 1,2 Sekunden warten bis das PRogramm n Screen von sich Selber gemacht hat und es verdunkelt ... Naja danke trotzdem ! mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eingeproggt, bei deiner Lösung besteht einfach das Problem, dass aus dem Farbwert $0000FF (Blau) $010200 (gaaaaaaaaaaaaaaaaanz dunkles Grün) würde. Man müsste dann wieder den zu addierenden Wert so anpassen, dass kein Byte überschwappt. Aber dies würde wieder Bit-Bastelei bedeuten und schlussendlich in einem Mehraufwand enden. Das beste wird wohl oder übel der "Umweg" übers Zerschnippseln und anschliessende Zusammensetzen sein.
mfG Holzchopf |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habs so gelöst :
Code: [AUSKLAPPEN] rgb = Min( Max( rgb + $FF050505, $FFFFFFFF ), $FF000000 )
Funzt super ![]() mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin ja sonst nicht so nett, aber ich versuche nun noch mal zu erklären, wieso diese Lösung problematisch ist. Diesmal in Code-Form, sollte ja verständlich sein:
BlitzBasic: [AUSKLAPPEN] Local rgb = $000000FF Bevor du den Code ausführst: Überleg' dir, was aus Blau ($000000FF) wird, wenn man es ganz wenig heller macht, und wie das Ergebnis in hex auszusehen hätte. |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group