Monochromes oder Graustufen Bild
Übersicht
BlitzBasic
Codearchiv|
|
XenonBetreff: Monochromes oder Graustufen Bild |
Antworten mit Zitat |
|---|---|---|
|
Wurde nach dem Code gefragt =)
Code: [AUSKLAPPEN] Function BlackImage(img)
width = ImageWidth(img)-1 height = ImageHeight(img)-1 SetBuffer ImageBuffer(img) LockBuffer For i=0 To width For j=0 To height r = ReadPixelFast(i, j) g = (r Shr 8) And $FF b = r And $FF r = (r Shr 16) And $FF r = (r+g+b)/3 r = $FF000000 Or (r Shl 16) Or (r Shl 8) Or r WritePixelFast i, j, r Next Next UnlockBuffer End Function |
||
- Zuletzt bearbeitet von Xenon am Sa, Jul 03, 2004 10:38, insgesamt einmal bearbeitet
CodeMaster |
Antworten mit Zitat |
|
|---|---|---|
| Das ist aber, wenn mich nicht alles täuscht (und ich hab mir den Code nur etwa 2 Sekunden angesehen) keine Monochrom- sondern eine Graustufenkonvertierung, oder? | ||
|
Dies ist ein Text, der an jeden Beitrag von dir angehängt werden kann. Es besteht eine Limit von 500 Buchstaben.
Zuletzt bearbeitet von CodeMaster am Mo Apr 01, Parse error: syntax error, unexpected ';' in htdocs\viewtopic.php on line 102 |
||
|
|
Vertex |
Antworten mit Zitat |
|---|---|---|
|
Jenau, monochrome wäre es so:
Code: [AUSKLAPPEN] Function MonochromeImage(img, value=127)
width = ImageWidth(img)-1 height = ImageHeight(img)-1 SetBuffer ImageBuffer(img) LockBuffer For i=0 To width For j=0 To height r = ReadPixelFast(i, j) g = (r Shr 8) And $FF b = r And $FF If (r+g+b)/3 > value Then WritePixelFast i, j, $000000 Else WritePixelFast i, j, $FFFFFF EndIf Next Next UnlockBuffer End Function (ungetestet!) ist wie bei Photoshop(Schwellenwert) mfg olli |
||
|
|
Xenon |
Antworten mit Zitat |
|---|---|---|
| Ohh sry, wusste nicht das monochrom wirklich schwarz-weiß oder nur graustufenkonvertierung heisst, hab threadtitel geändert | ||
|
|
Travis |
Antworten mit Zitat |
|---|---|---|
|
Und jetzt noch einmal eine Funktion mit der man die Farbintensität eines Bildes regeln kann. Es muss das Bild und die Farbintensität in Prozent angegeben werden.
Code: [AUSKLAPPEN] Function Sattigung(Bild,Prozent#) Prozent = 100-Prozent LockBuffer ImageBuffer(Bild) For y = 0 To ImageHeight(Bild) For x = 0 To ImageWidth(Bild) rgb = ReadPixelFast(x,y,ImageBuffer(Bild)) a=(rgb And $FF000000)/$1000000 r=(rgb And $FF0000)/$10000 g=(rgb And $FF00)/$100 b=rgb And $FF z = 0.299*r + 0.587*g + 0.114*b If r > z Then r = r - (Abs(z-r) * (Prozent/100)) If r < z Then r = r + (Abs(z-r) * (Prozent/100)) If g > z Then g = g - (Abs(z-g) * (Prozent/100)) If g < z Then g = g + (Abs(z-g) * (Prozent/100)) If b > z Then b = b - (Abs(z-b) * (Prozent/100)) If b < z Then b = b + (Abs(z-b) * (Prozent/100)) rgb=a*$1000000 + r*$10000 + g*$100 + b WritePixelFast(x,y,rgb,ImageBuffer(Bild)) Next Next UnlockBuffer ImageBuffer(Bild) End Function |
||
|
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
||
Übersicht
BlitzBasic
Codearchiv
Powered by phpBB © 2001 - 2006, phpBB Group
