Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Delphi] Pixels manipuleren

Pagina: 1
Acties:

  • One_Gandalf
  • Registratie: April 2002
  • Laatst online: 24-11 01:40
Doel : een groen subpixel die altijd aan is camoufleren
Programmeer-omgeving : Delphi 3

Allereerst : mijn Delphi-kennis is een beetje roestig.

1. Hoe kan ik de kleur van een willekeurige pixel uitlezen
2. Hoe kan ik de kleur van een willekeurige pixel wijzigen

Ik wil aan de hand van de omringende pixels de kleur van de pixel met de altijd groene subpixel aanpassen zodat de pixel niet zo opvalt.

  • Icelus
  • Registratie: Januari 2004
  • Niet online
Delphi:
1
Canvas.Pixels[ X, Y ] := clRed


Edit: begrijp dat je een pixel buiten het venster wilt wijzigen?
Principe is dan hetzelfde maar dan zul je continu de kleur moeten uitlezen en aanpassen.

[ Voor 144% gewijzigd door Icelus op 12-10-2007 10:21 ]

Developer Accused Of Unreadable Code Refuses To Comment


  • One_Gandalf
  • Registratie: April 2002
  • Laatst online: 24-11 01:40
Icelus schreef op vrijdag 12 oktober 2007 @ 10:19:
Delphi:
1
Canvas.Pixels[ X, Y ] := clRed


Edit: begrijp dat je een pixel buiten het venster wilt wijzigen?
Principe is dan hetzelfde maar dan zul je continu de kleur moeten uitlezen en aanpassen.
Ik had de Pixels-property inmiddels ook gevonden.

Ik maak een venster dat precies over de pixel valt met de eigenschap 'always on top'. Nu nog een algoritme bedenken voor het bepalen van de minst opvallende mogelijke kleur bij een bepaalde achtergrondkleur. Of de pixel eenmalig 'dood' maken met een minder indringende kleur, misschien licht grijs indien mogelijk met 100% groen.

Als je rood en groen combineert krijg je geel.

[ Voor 3% gewijzigd door One_Gandalf op 12-10-2007 10:35 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:10

Creepy

Tactical Espionage Splatterer

En wat heb je zelf al geprobreerd en gevonden en wat lukte daar niet mee? Met google en met de got search zijn wel wat bruikbare resultaten te vinden, het lijkt me dan ook sterk dat je nog niks hebt kunnen vinden. Zou je gelijk ook Programming Beleid eens willen doorlezen en daarna je topicstart aanvullen met de gevraagde informatie?

edit: ah, de post hier voor stond er net nog niet. Maar als je zelf al zo snel na het posten een oplossing vindt is het misschien handig om dat ook te melden of om misschien zelf iets langer nog door te zoeken voordat je een topic opent ;)

[ Voor 24% gewijzigd door Creepy op 12-10-2007 10:32 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Canvas.Pixels = sloom, zoek eens op scanlines

  • One_Gandalf
  • Registratie: April 2002
  • Laatst online: 24-11 01:40
Creepy schreef op vrijdag 12 oktober 2007 @ 10:31:
En wat heb je zelf al geprobreerd en gevonden en wat lukte daar niet mee? Met google en met de got search zijn wel wat bruikbare resultaten te vinden, het lijkt me dan ook sterk dat je nog niks hebt kunnen vinden. Zou je gelijk ook Programming Beleid eens willen doorlezen en daarna je topicstart aanvullen met de gevraagde informatie?

edit: ah, de post hier voor stond er net nog niet. Maar als je zelf al zo snel na het posten een oplossing vindt is het misschien handig om dat ook te melden of om misschien zelf iets langer nog door te zoeken voordat je een topic opent ;)
Je let wel goed op zeg ;)

Ik ben op de hoogte van het beleid en heb zelf ook wel wat gevonden zoals reeds vermeld. Mijn insteek is om ook andere invalshoeken te betrekken in mogelijke oplossingen.

  • One_Gandalf
  • Registratie: April 2002
  • Laatst online: 24-11 01:40
Verwijderd schreef op vrijdag 12 oktober 2007 @ 10:38:
Canvas.Pixels = sloom, zoek eens op scanlines
Ik ben scanlines tegengekomen op mijn speurtocht. Vooralsnog is dit naar mijn idee vrij ingewikkeld. Voor deze methode moet je al behoorlijk diep in de API duiken.

Verwijderd

One_Gandalf schreef op vrijdag 12 oktober 2007 @ 11:36:
[...]

Ik ben scanlines tegengekomen op mijn speurtocht. Vooralsnog is dit naar mijn idee vrij ingewikkeld. Voor deze methode moet je al behoorlijk diep in de API duiken.
nee valt wel mee.
hier wat uitleg: http://www.efg2.com/Lab/ImageProcessing/Scanline.htm

  • One_Gandalf
  • Registratie: April 2002
  • Laatst online: 24-11 01:40
Ja valt inderdaad wel mee. Ik had de API calls (zoals GetDIBits) verward met de property Bitmap.Scanline.

De volgende link levert een leesbaar Delphi 3 programma op:

http://www.efg2.com/Lab/ImageProcessing/CreateMandrillBMP.htm

Verwijderd

One_Gandalf schreef op vrijdag 12 oktober 2007 @ 12:45:
[...]


Ja valt inderdaad wel mee. Ik had de API calls (zoals GetDIBits) verward met de property Bitmap.Scanline.

De volgende link levert een leesbaar Delphi 3 programma op:

http://www.efg2.com/Lab/ImageProcessing/CreateMandrillBMP.htm
heb je nu een foto van jezelf op inet gepost daar ???

>:) :P

  • One_Gandalf
  • Registratie: April 2002
  • Laatst online: 24-11 01:40
Verwijderd schreef op vrijdag 12 oktober 2007 @ 14:09:
[...]

heb je nu een foto van jezelf op inet gepost daar ???

>:) :P
Nee, zo knap ben ik niet ;)
Pagina: 1