0

IIS 7.5(Windows Server 2008r2)で実行されているクラシックASPアプリケーションがあります。私が必要としているのは実際には非常に単純です。

(1)ユーザーが画像をアップロードします。

(2)まず、アップロードした画像を複製したいので、「バージン」バージョンと「遊べるバージョン」を用意しました。以下のすべては、「私たちが遊ぶことができるバージョン」(新しい/重複したバージョン)で動作します。

(3)画像のサイズを450wx253hに変更します。

(4)古い画像と同じ幅で、高さが2倍(450w x 506h)の新しい画像を作成したい。次に、古い画像をコピーして、その1つのバージョンを正確な複製の上に配置します。したがって、元の画像の2倍の高さの新しい画像が作成されます。ミラーリングのようなものです。

.Netのように、商用コンポーネントなしでこれを行う方法があり、ClassicASPから.Netページ/関数を呼び出すことができる場合に推奨されます。私の経験/知識はvbScript(ASP)に関するものであり、.NetのVBに関する経験はほとんどありません。

これが私がしていることを説明するために作った画像です:私 がその場で構築しようとしているものの画像http://www.casemodo.com/images/image_build_on_the_fly.jpg

このサイトでは、誰かが私が望むように画像を積み重ねるのではなく、画像を並べて積み重ねるためのソリューションを提供しているのを見ました。また、ソリューションはC#で記述されていますが、これは私が経験したことはありません。これが彼らが書いたものです:

ビットマップビットマップ=新しいビットマップ(image1.Width + image2.Width、Math.Max(image1.Height、image2.Height)); using(Graphics g = Graphics.FromImage(bitmap)){g.DrawImage(image1、0、0); g.DrawImage(image2、image1.Width、0); }

私が必要としているのは、私と一緒に超高レベルに行き、これがaspxファイルにどのように配置されるか、そしておそらく私のクラシックASPページの1つからどのように呼び出すかを教えてくれる人です。私はたくさん求めていることを知っています。クラシックASPから呼び出すことができる商用ActiveXコンポーネントに持っていないお金を使うことを除いて、別の方法でそれを行う方法がわかりません。

あなたが与えることができるどんな助けまたは指示にも感謝します!スコット

4

1 に答える 1

2

ご存知のように、これは多くのものの複合体です!誰かがあなたのためにそれを書いたら、それは驚くでしょう。時間がありません。

ところで、商用コンポーネントとのインターフェースも同様に難しいので、このあいまいなことを行うためのコンポーネントを見つけるように挑戦します;-)

言語を組み合わせる

ASP.NETプログラムではなく、機能を使用して.NETの「クラスライブラリ」(dllまたはアセンブリ)を作成します。従来のASPから直接呼び出すことができます...次
のように: http://support.microsoft.com/kb/817248 またはこれ:http : //forums.asp.net/t/1442595.aspx/1結論 は、.NETプロジェクトオプションで「Com / ActiveXに公開」をチェックすると、従来のASPでそれが表示されます。

画像を出し入れします。

最も簡単な方法は、呼び出し元のASPに一意の一時ファイル名を生成させ、ファイルをそのファイルシステムに保存し、名前を.NETに渡すことです。そのメソッドを使用して擬似コードを提供します。

コンテンツを大きな文字列として渡すこともできます。System.Text.Encodingを使用して.NETで変換することもできます。ASPでbase64に出入りできる場合、最も安全なのはbase64です。文字列はutf8を処理する可能性がありますが、.NETの「新しいビットマップ」行から「一般的なGDI +エラー」が発生すると、データが破損し、変換が失敗します。まず、ファイルメソッドを試してください。

私が提供するファイルメソッドのサンプルでは、​​ファイル名をメモリストリームに置き換えることに注意してください。これは、バイト配列との間で変換する必要があります。グーグルにいくつかのことですが、ASPクラシックを理解できれば、私が提供した検索ワードを使用してそれを理解できます。

グラフィックを実行するための完全にテストされていないVBコード

タイプミスがある場合は、ここでIntellisense、ヘルプ、およびgoogleに少しだけ頼る必要があります。

Public Sub DoubleImage(FileIn as string, FileOut as string)
    dim bmpIn as new Bitmap(FileIn)
    dim bmpOut as new bitmap(bmpin.width,bmpin.height*2)
    using g as new graphics.FromImage(bmpOut)
        g.drawimage(bmpin,0,0,bmpin.width,bmpin.height)
        g.drawimage(bmpin,0,bmpin.height,bmpin.width,bmpin.height)
    end using
    bmpout.save(FileOut)
end sub 

これをクラスライブラリプロジェクトに入れ、プロパティに移動してCOMに公開します。ASPから参照してください。

PS .NETグラフィックを作成する方法については、GDI + FAQを参照してください:https ://web.archive.org/web/20141230145656/http://bobpowell.net/faqmain.aspx

于 2012-11-08T22:37:37.147 に答える