0

私のウェブサイトへの訪問者が次の手順を実行できるようにしたいと考えています。

  1. フォームのいくつかのフィールドにテキストを入力し、画像をアップロードします。(これは些細なことです。)
  2. 次に、入力が画像としてどのように見えるかのプレビューを確認します。アップロードされた画像にテキスト入力が重なっています。
  3. ユーザーがフォームを送信したときにプレビューされた画像をサーバーに保存します。

C# と ASP.NET を使用してこれを行いたいと思います。PHP オプションがあることを読みましたが、PHP と C# のコードを混在させたくありません。

この投稿を見つけました: ASP.NET から Web ページを画像に変換しますが、その解決策はデスクトップ アプリケーション用です。

この投稿も見つけました:アクティブなウィンドウのスクリーンショットをキャプチャしますか? 、しかし、ユーザーがウィンドウのサイズを正しく設定していることを期待する必要はありません。

ステップ 1 は簡単です。私はそれを行う方法を知っていますが、私が達成しようとしていることを明確にするためにそれを含めました.

以下の user1132959 の回答は、手順 2 と 3 を実行するのに役立ちました。この投稿が保留になったことを受けて、この投稿を編集しました。この投稿が他の誰かに役立つことを願っています。

4

2 に答える 2

1

これは、画像にテキストを描画する方法を示すリンクです。この例では、ASP .NET で Bitmap クラスを使用できます (ドキュメントには GDI が保証されていないと書かれていますが、私の経験ではこれが問題になったことはありません)。

そのビットマップオブジェクトを作成してテキストを追加したら、それをどこかに保存するか、セッションを通過してから、ユーザーが見るためにビットマップをロードする専用のページを作成します(ユーザーは実際にボタンとリンクのあるページに送信されますこの画像ページ) をPage_Loadイベントに入れます (jpeg 出力形式を想定):

            System.Drawing.Image bm = theBitmapYouGeneratedEarlier;
            if (bm == null)
            {
                Response.Write("Failed to load image");
                return;
            }

            Response.Clear();
            Response.ClearHeaders();

            Response.ContentType = "image/jpeg";
            bm.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);
            Response.OutputStream.Flush();
            bm.Dispose();

最後に、ユーザーが送信をクリックするか、この新しいビットマップを保存するだけです。

于 2013-08-14T01:39:00.887 に答える
0

AjaxControlToolkit を使用して、アップロードした写真を即座にプレビューできます。ここで例を参照してください。このチュートリアルでは、プロジェクトに AjaxContolToolkit をインストールする方法を説明します

于 2013-08-13T06:34:45.497 に答える