問題タブ [system.drawing.imaging]
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# - C#でsystem.drawingを使用して中央揃えのテキストをjpgに描画する方法
次のコードを使用してjpg画像にテキストを描画していますが、テキストを配置する場所にx/y座標の精度が必要です。
テキストを画像の中央に配置するにはどうすればよいですか?画像の幅であるある種のコンテナ(長方形かもしれませんか?)を定義し、その中のテキストを中央に配置することと関係があると思いますか?このためのベストプラクティスがわからない。
asp.net-mvc - タイプ System.Drawing.Bitmap (
タグ?)から画像を提供する方法
ASP.NET MVC のビューにビットマップを送信しています。ViewModel にプロパティがあります。
public Bitmap TemplateImage { get; set; }
私のビューでは、そのビットマップ画像をレンダリングできるようにしたいのですが、その方法がわかりません。
c# - Image.Save() が jpeg ファイルに使用する品質レベルは?
jpg ファイルを読み込んで振り返って 100 の品質で保存すると、サイズは元のほぼ 4 倍になりました。さらに調査するために、品質を明示的に設定せずに開いて保存しましたが、ファイルサイズはまったく同じでした。これは、何も変更されていないため、まったく同じビットをファイルに書き戻しているだけだと考えました。この仮定をテストするために、画像を斜めに横切る大きな太い線を描き、品質を設定せずに再度保存しました (今回は、ファイルが「汚れている」ため、ファイルが跳ね上がると予想していました) が、約 10Kb 減少しました!
この時点で、圧縮品質を指定せずに Image.Save() を呼び出すだけで何が起こっているのか本当にわかりません。品質を 100 (基本的に圧縮なし) に設定すると、ファイル サイズが元のサイズの数倍になるのに、品質がまだ設定されていないときに (画像が変更された後) ファイル サイズが元のサイズに非常に近いのはなぜですか?
Image.Save() に関するドキュメントを読みましたが、舞台裏で何が起こっているかについての詳細が欠けています。考えられるあらゆる方法でグーグル検索しましたが、私が見ているものを説明する追加情報が見つかりません。私は 31 時間連続で働いているので、明らかな何かを見落としているかもしれません ;0)
これらはすべて、画像をデータベースに保存するためのいくつかのライブラリ メソッドを実装しているときに発生しました。「SaveImage」メソッドをオーバーロードして、品質を明示的に設定できるようにしました。テスト中に、上記で説明した奇妙な結果に出くわしました。あなたが流すことができるどんな光も高く評価されます。
私が経験していることを説明するコードを次に示します。
c# - EncoderParams を使用した MemoryBmp の Image.Save() から TIFF へ - どのように?
ユーザーが画像の領域を定義し、その領域をファイルに保存できるアプリケーションがあります。解決できない問題にぶつかりました。選択した領域をペイントするために作成したビットマップは、「MemoryBmp」の ImageFormat でスタックしています。これは、ファイルが読み込まれていないビットマップに設定されている ImageFormat のようです。問題は、ビットマップがメモリ内に作成され、それを CCITT4 モノクロ TIFF として保存したいのですが、「GDI+ で一般的なエラーが発生しました」という例外が発生することです。これは、Image.RawFormat プロパティがその恐ろしい MemoryBmp であるという事実によるものであると確信しています。
Image.Save() には ImageFormat パラメータを受け取るオーバーロードがあり、渡す ImageFormat.Tiff を使用すると問題なく保存されますが、エンコーダ パラメータを指定する機会がありません。
私が考えることができる唯一の回避策は、Image.Save(Image, ImageFormat) を使用してディスクに保存し、それをリロードし (RawFormat は ImageFormat.Tif に正しく設定されます)、エンコーダー設定を渡して再度保存することです。それはばかげていますが、もっと良い方法があるはずです。
これは、以前の説明が十分に明確でない場合に備えて、私が何をしているのかを示すコードの一部です (これは単なるテスト用です)。
ああ、「loadedIimage」は確かに tiff 画像であることに言及する必要があります。
c# - System.Drawing.Image ファイルのメタデータを変更または追加するにはどうすればよいですか
ビジネス目的: 私は CMS を作成しており、ユーザーが以前にサーバーにアップロードした画像を「削除」できるようにしています。
問題: 画像を実際に削除することを許可すると、壊れた画像で作成した古い投稿が残ります。例: ユーザーが vtWinsACC2005.jpg をアップロードし、画像にリンクする記事を書き、最後にギャラリーをクリーンアップしてその画像を削除しますが、記事をそのままにしておくと、画像が壊れた記事になります。
目標: ユーザーが以前にアップロードした画像を「削除」した場合、IO の実際のファイルに「メモ」フィールドまたは任意のタイプのメタデータを「hidden=true」のようなもので追加したいと考えています。 GetFiles() ロジックで、そのメタデータが存在しないことを確認します。この方法では、ユーザーは削除した画像を見ることができず、将来、削除するつもりのなかった画像を「復元」することさえできます。それらが復元されると、そのファイルからメタデータを消去するだけで済みます。
別の方法: userId + fileName を使用してデータベースに単純なルックアップ テーブルを保持し、それを「HiddenUserImage」と呼びますが、上記の方法の方が楽しいです。別のテーブルを追加する必要がない場合は、すばらしいことです。
何か案は??これは C# になります。ありがとう!
c# - System.Drawing.Image.RawFormat から ImageFormat を取得します。
を呼び出そうとすると、このコードは失敗しますImage.Save(MemoryStream, ImageFormat)
。
私は例外を受け取ります:
値を null にすることはできません。パラメータ名: エンコーダ"
ImageFormat
オブジェクトを直接渡すと機能しますImageFormat.Jpeg
。
を変換する最良の方法は何ですかrawformat
(ImageFormat
理想的には、switch ステートメントや多数の if ステートメントなしで)
ありがとうベン
iphone - Cocoa/iPhone 画像操作用の System.Drawing.Imaging に似たインターフェース
.net 側の System.Drawing.Imaging のような同様の機能を備えた、iPhone/iPad 用の画像操作ライブラリを探しています。
やりたいこと:
- 楕円、長方形、テキストなどの基本的な形状を描画する
- UILabels、UIViewsなどと一緒に、画面上の特定の場所に描画します。理想的なのは、UIImage コントロールが受け入れるデータ形式にエクスポートできることです (.net フレームワークと同様)。
そのようなライブラリは標準フレームワークに存在しますか、それとも何か他のものが必要ですか? いくつかのサンプル コード (へのリンク) を提供していただけますか?
ありがとうございました!
イヴァン・ヤンセン
c# - プログラムで画像の透明な領域を白い塗りつぶしに置き換えますか?
.NETのSystem.DrawingAPIを介して操作しているPNG画像があります。透明な領域が大きいので、透明な領域を白い塗りつぶしに置き換えて、画像に透明な領域がないようにします。画像編集プログラムでは十分に簡単です...しかし、これまでのところ、C#でこれを行うことはできませんでした。
誰かが私にいくつかのポインタを与えることができますか?
.net - それはビットマップですか、それともメタファイルですか?
Stream
私が知っている a が写真になることを考えると、それが aBitmap
または aMetaFile
から引き出されたときにプログラムで判断する方法はありImage.FromStream(mystream)
ますか? 旗か何かのように。
環境: .NET、System.Drawing、C#/VB