1

これは単純な Air アプリである必要があります。Dreamweaver CS5.5 を使用して Air アプリを作成しています。Canvas に画像を関数でロードさせることができません。画像を onLoad で読み込むことができます。目的は、キャンバスに描画する画像を取得し、サイズを変更して toDataURL を img タグに追加することです。私は何を間違っていますか?コードは次のとおりです。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
function getImage(url){
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
var img = new Image();
img.src=url;
img.onload = function(){
context.drawImage(img, 0,0,width,height);

var dataurl = canvas.toDataURL();
document.getElementById('image').src = dataurl;
};

var MAX_WIDTH = 140;
var MAX_HEIGHT = 200;
var width = img.width;
var height = img.height;

if (width > height) {
  if (width > MAX_WIDTH) {
    height *= MAX_WIDTH / width;
    width = MAX_WIDTH;
  }
} else {
  if (height > MAX_HEIGHT) {
    width *= MAX_HEIGHT / height;
    height = MAX_HEIGHT;
  }
}

canvas.width = width;
canvas.height = height;

}

</script>
</head>

<body>
<canvas id="canvas"></canvas>
<img id="image" src="" />
<button onClick="javascript:getImage('https://www.google.com/images/srpr/logo3w.png');">Get Image</button>
</body>
</html>
4

1 に答える 1

0

その行が問題を引き起こしていると思います:

<button onClick="javascript:getImage('https://www.google.com/images/srpr/logo3w.png');">Get Image</button>

javascript: URL スキームを使用してリンクで定義されたコードは、アプリケーション サンドボックスでは無視されます。安全でない JavaScript エラーは生成されません。

于 2013-10-16T07:24:47.113 に答える