chapter9. q3: drawImage toDataUrl