問題タブ [imageresizer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 新しい画像ファイル名を取得する方法
ImageResizer を使用してファイル システムに画像を保存し、画像の URL を DB に保存する予定です。私はAPIを何度も調べましたが、DB URLに含めるために新しく作成されたファイル名を取得する明白な方法を見つけることができません:
c# - MVC2 を使用してオンザフライで SQL データベースから画像のサイズ変更を行う
ブラウザから MS SQL データベースに画像ブロブとしてファイルをアップロードする単純な MVC2 アプリがあります。
次に、次のような結果を返すことができます。
しかし、これらの画像をサムネイルとギャラリーサイズのビューの両方でサイズ変更して返したいと思います。この結果内でこれを行うことは可能ですか? 私は素晴らしいimageresizer.netで遊んでいますが、避けたいサーバーに画像を保存したいようです。その場でこれを行うことは可能ですか..?
元のファイルを保持する必要があり、可能であれば、画像をファイルとしてサーバーに保存したくありません。
ご指摘ありがとうございます。
c# - ImageResizer.netを使用して画像の現在のサイズを決定する
最近、ASP.NET MVC 4アプリケーションで画像のサイズを動的に変更するために、ImageResizer.Net overGDI +の使用を開始しました。
ImageResizerのみを使用して、画像(バイト配列として読み込まれる)の実際の解像度(DPI、PPI、あなたがそれを呼びたいものは何でも)を決定する方法はありますか?現在、次のようなワークフローがあり、必要に応じて画像のサイズを指定された低解像度に変更します。
これは正常に機能しますが、GDI +とImageResizerが混在しており、同じデータのストリームの開閉がたくさんあります(実際のコードは少し冗長で、多くのusing
ステートメントがあります)。
ImageResizerだけを使用して水平解像度と垂直解像度を決定する方法はありますか?ドキュメントにすぐに何も見つかりませんでした。
今のところ、マネージAPIを使用していますが、最終的にはMVCルーティングを使用する予定です。
forms-authentication - ImageResizerにASP.NETフォーム認証ルールを無視させるにはどうすればよいですか?
フォーム認証を使用して保護されたWebアプリケーションを構築しています。特定のページに、サムネイルのリストがあります。これらのサムネイルは、次のようにImageResizerで生成されます。
これは、Visual Studio 2010の組み込みWebサーバーを使用した開発中にすべて正常に機能していました。アプリケーションを運用サーバー(Windows2008およびIIS7.5を実行)に展開すると、サムネイルが機能しなくなったことがわかりました。開発ビルドをCassiniではなくIISExpressに切り替えると、同じ問題が発生しました。
直接ナビゲートすると
/Data/Pictures/image01.jpg
(ログイン時)、画像が表示されます。/Data/Pictures/image01.jpg?width=100
直接(ログインしたときに)ナビゲートすると、次のエラーメッセージが表示されます。'/'アプリケーションのサーバーエラー。
このタイプのページは提供されません。
説明:明示的に禁止されているため、リクエストしたタイプのページは提供されません。拡張子「.jpg」が正しくない可能性があります。以下のURLを確認し、スペルが正しいことを確認してください。
要求されたURL: /Data/Pictures/image01.jpg
直接ナビゲートすると
/Data/Pictures/image01.jpg.ashx?width=100
(ログイン時)、サイズ変更された画像が表示されます。
この問題の回避策は、次のように、フォーム認証から画像ディレクトリを除外することでした。
これでサムネイルが再び表示されますが、この回避策についてはよくわかりません。
ImageResizerのサイトでサポートチケットをまとめて、クエリ文字列のない画像とクエリ文字列のある画像が機能しない理由を尋ねました。ImageResizerの作者は答えました、そして彼は私に言いました:
ImageResizerは未処理の画像を処理しないため、それらはIISによって処理されます。静的コンテンツを保護するには、ルールを複製する必要があります:http ://www.iis.net/ConfigReference/system.webServer/security/authorization
<security>
そのページを読み、認証と承認の設定を内部の要素に複製しようとしました<system.webServer>
が、この方法で解決できませんでした。
この問題を解決するために何ができるでしょうか。
アップデート
アプリケーションを2つの本番サーバーにデプロイしましたが、どちらも同じ問題を抱えています。IISExpressの2台の開発者マシンにも問題があります。私たちの本番サーバーは、構成が必ずしも同じではありません(これはわかりませんが、若干の違いがあると思います)。だから私は推測します(実際には、私は願っています:-))原因は以下のWeb.Configファイルで見つけることができます:
c# - ImageResizer での画像パスの解析
私は動的に画像のサイズを変更しています:
画像の相対 URL を DB に保存しようとしています。i.FinalPath
プロパティは私に与えます:
画像ファイル名だけを取得するにはどうすればよいですか - これを解析する最良の方法は?
必要な文字列: /eventimages/56b640bff5ba43e8aa161fff775c5f97_scenery.jpg
c# - c# 画像のサイズ変更
私のasp.net 4 Webフォームプロジェクトで画像アップローダー/リサイザーに取り組んでいます。アップロードされた画像のサイズを変更するための C# のテクニックを知っている人はいますか?必要な最小サイズよりも小さいものに役立ちますか?
途中でサイズを変更すると明らかに品質が疑わしいので、適切なサイズの新しい画像を無地の白で作成し、元の画像をその白い背景の上に配置する方法を見つけた人はいますか?
ありがとう
編集- 現在、ImageResizer.net は正常に機能していますが、画像が小さい場合はサイズ変更が必要です。詳細については、IrishChieftains の回答の下にあるコメントを参照してください。
最終編集 ################
わかりました、昨夜これを試してみましたがうまくいかなかったので、クリーンなブラウザまたはVS2010の再起動が必要だったかもしれませんが、興味のある人のために、これが私の最終的な解決策です. キーはscale=upscalecanvas
次のとおりです。
ImageResizer.net を十分に評価できない - 素晴らしいプログラム
imageresizer - ImageResizer を使用して PDF のサイズを変更すると、アプリケーション プールを再起動するまで解決されない例外が発生することがある
ImageResizer (imageresizing.net) を使用して、PDF のフロント ページのサムネイルを生成しています。誰かが適切な解決策で同じ問題を経験したことを期待して、おそらく不十分な情報でここに投稿している次のシナリオを除いて、それはうまく機能します(ImageResizerで行う他のほとんどすべてのことと同様).
1) 数千の PDF のうち、サムネイルを生成できない PDF がいくつかあります。試行するたびに、次の例外が発生します。
私たちは、実際の PDF ファイルが実際には何らかの方法で (メタデータであるかどうかに関係なく) 破損しており、解析しようとすると例外が発生すると想定しています。 残念ながら、ソースからそれらを再生成することはできません (ソースは利用できなくなりました)。
この問題で投稿された GhostScript または ImageResizer のバグはないようです。
2) 一度に複数の PDF でサムネイルを生成しようとすると (つまり、100 個以上のバッチ)、通常は正常に動作しますが、1 つの PDF で缶をキックすることがあります (韻や理由はありません)。その後のすべてのサムネイル生成の試行は、アプリケーション プールが再起動されます。ああ。最初にバッチ生成を行っただけで、後続のサムネイル生成ははるかに小さい数になるため、最初はあまり心配していませんでした。ただし、これ以降、数値が小さい場合でも、この問題が発生することがあることがわかりました。自動的にアラートが表示されますが、アプリをリセットしなければならないということは、使用しなければならない非常に大きなハンマーです。
これについては、メモリ/リソースの問題であると想定していますが、ここでも問題を忠実に再現することができず、他の誰かが問題に遭遇し、解決策を突き止めたことを願っています.
- IIS 7.5 (Windows Server 2008 R2)
- ASP.NET MVC 3
App Start で以下を利用して、指定されたフォルダー内のすべての PDF の特定のサイズとタイプの画像生成を強制します (認証とダウンロード追跡のために別のルートを介して PDF への実際のアクセスを処理します)。
c# - リクエストストリームから複数のファイルを保存するときに「別のプロセスで使用されているため、プロセスはファイルにアクセスできません」を取得する
HTML5 キャンバス要素と新しい HTML5 ファイル i\o 関数を使用して、複数のファイルをドロップしてアップロードします。正常に動作しますが、宛先ディレクトリにファイルがない場合 (7 桁の整数)、新しいファイル名を生成するか、最後にアップロードされたファイルの名前を取得して int32 に変換し、新しいファイルごとに 1 ずつ増やす必要があります。ファイルが同じディレクトリにアップロードされます。これは、GetFileName(dir);
最初の画像は常に正常にアップロードされますが、2 番目のファイルが保存され、プロセスが ImageJob.Build() に到達すると問題が発生します。これは、新しいファイルの書き込みが開始されると、GetFile() メソッドが実行されるためだと思います。 2 番目のファイルが同時に行にあり、最後に書き込まれたファイルをチェックしています。このファイルはまだ書き込まれているため、競合が発生します。どうすればこれを修正できますか?おそらく、Request.InputStream データに対して foreach を反復処理したり、プロセスが終了するのを待機する何らかのプロセス ウォッチを実装したりできますか?
Update:
TempData を使用して生成されたファイル名を保存しようとしましたが、次のすべてのファイル名に対して TempData の int 値をインクリメントするだけで、うまくいくように見え、より多くの画像を取得できますが、ある時点でまだエラーが発生します。ただし、TempData は読み取りのたびに消去されるため、そのためではありません。もう一度割り当て直しても役に立ちません。多分私はそれをセッションに保存しようとします。
別のプロセスで使用されているため、プロセスはファイル 'C:\Users\Admin\Documents\Visual Studio 2010\Projects\myproj\myproj\Content\photoAlbums\59\31\9337822.jpg' にアクセスできません。
imageresizer - ImageResizer 3.2.1 でのコンパイル エラー
Nuget が ImageResizer 3.1.5 をバージョン 3.2.1 に更新できるようにした後、複数のエラー (すべて同じタイプ) でコンパイルが失敗します。
どうやらこれは、アセンブリ バージョンの不一致の結果です。プロジェクト内のすべての ImageResizer 参照を削除すると、エラーのないコンパイルが可能になります。
ImageResizer 3.1.5 に戻すと、コンパイルも成功します。
私のプロジェクトは、.NET4 を対象とする単純な MVC3 アプリケーションです。ImageResizer 3.1.5 と 3.2.1 の両方が v2.0.50727 を対象としています。
これをどのように修正できるかについてのアイデアはありますか?
期待してありがとう!
imageresizer - 幅と高さが元のサイズと同じ場合、画像のサイズ変更を回避するにはどうすればよいですか?
高さと幅が元の画像と同じである場合に画像のサイズ変更を回避して画像を処理する方法(param)はありますか?
そうでない場合、プラグインのスケールプロセスをどこでどのようにキャンセルしますか?