Ik probeer (het is mijn eerste serieuze Flash/Flex project en voornamelijk gepikt van examples) het volgende: Ik maak een screenshot van een webcam (werkt), dat plaats ik op een canvas (werkt dmv addchild) en daar wil ik op tekenen met de muis. Maar dat werkt niet. Gek genoeg doet het tekengedeelte het prima stand-alone maar niet in mijn brok code.
Ik begin met een webcam te streamen naar een raampje 'myVid. Ik heb een canvas genaamd 'werkplek' gemaakt met mousedown, mousemove en mouseup verwijzingen. (vergeef me het engels/NL door elkaar, ik moet de code echt nog gaan poetsen wat dat betreft)
Dan heb ik het volgende om het plaatje van de webcam op de canvas te mikken (stilstaand beeld)
Dan krijg je het tekengedeelte en dat zit ongeveer zo in elkaar:
Echt alles werkt prima in m'n code behalve het tekenen. Ik krijg niks op m'n plaatje getekend. Moet ik soms nog een child toevoegen voor de tekenlaag? Ik heb gezocht op terminologie als 'draw on bitmap image' maar ik kom helaas niet veel verder dan wat ik tot nu toe heb.
Ik begin met een webcam te streamen naar een raampje 'myVid. Ik heb een canvas genaamd 'werkplek' gemaakt met mousedown, mousemove en mouseup verwijzingen. (vergeef me het engels/NL door elkaar, ik moet de code echt nog gaan poetsen wat dat betreft)
Dan heb ik het volgende om het plaatje van de webcam op de canvas te mikken (stilstaand beeld)
code:
Dit stuk werkt prima maar kan mogelijk beter?1
2
3
4
5
6
7
| public function snapshot():void { var bmd:BitmapData = new BitmapData(1024, 768); bmd.draw(myVid); var myBitmap:Bitmap = new Bitmap(bmd); var myImage:Image = new Image(); myImage.source = myBitmap; werkplek.addChild(myImage); |
Dan krijg je het tekengedeelte en dat zit ongeveer zo in elkaar:
code:
Natuurlijk mis je nu een stukje detectie voor de boolean 'isDrawing', die zit gekoppeld aan doMouseDown()1
2
3
4
5
6
7
8
9
10
11
12
13
| private function doMouseMove():void { x2 = werkplek.mouseX; y2 = werkplek.mouseY; if (isDrawing) { werkplek.graphics.lineStyle(2, drawColor); werkplek.graphics.moveTo(x1, y1); werkplek.graphics.lineTo(x2, y2); x1 = x2; y1 = y2; } } |
Echt alles werkt prima in m'n code behalve het tekenen. Ik krijg niks op m'n plaatje getekend. Moet ik soms nog een child toevoegen voor de tekenlaag? Ik heb gezocht op terminologie als 'draw on bitmap image' maar ik kom helaas niet veel verder dan wat ik tot nu toe heb.