1

ユーザーのクリップボードから画像を取得するために、activex ユーザー コントロールを作成しました。この画像のバイトストリームを取得する方法があります。これをasp.net Webフォームページ(C#)に埋め込みたい。

c# を使用して、asp.net ページの "コード ビハインド" 部分からこのメソッドを呼び出す方法がわかりません。「分離コード」部分からオブジェクトにアクセスできません。

Javascriptを使用してこれを達成しようとしていますが、エラーが発生し続けます:

Microsoft JScript ランタイム エラー: 'ScreenCapMod1' は定義されていません

これは HTML コードです。

    <div id="panelScn" style="height:258px;">

        <object id="ScreenCapMod1" name="ScreenCapMod1" height="812" width="689"
            classid="ScreencaptureActiveX.dll#Screencapture_ActiveX.ScreenCapModule">
        </object>
     <input type=button value="Click me" onClick="doScript();">

関数 doScript() { ScreenCapMod1.getScreenshot(); }

これは、スクリーンショットを取得するメソッドのコードです。

    public byte[] getScreenshot()
    {
        if (picBoxImagePrev.Image != null)
        {
            MemoryStream stream = new MemoryStream();
            scaledScreenCapture.Save(stream, ImageFormat.Png);
            imgStream = stream.ToArray();
        }
        return imgStream;
    }
4

1 に答える 1

1

ActiveX コントロールはクライアント側で実行されるため、そのデータをクライアントからサーバーにプッシュする何らかの方法が必要です。これは、標準の Web サービスで実現できます。

于 2010-07-05T20:45:36.407 に答える