問題タブ [gdi+]
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++ - Windows XP に東アジア言語パックをインストールせずに、GDI+ を使用して日本語テキストを表示するには、ヘルプが必要です
日本語のクイズ プログラムを書いていますが、Windows XP 用の東アジア言語パックをインストールする必要はありません。テキストの描画に GDI+ を使用しています。無料の Unicode フォントをダウンロードして、それを使用してテキストを描画してみました。私のコンピューター (東アジア パックがインストールされている) でテストしたところ、ダウンロードしたフォントを使用して日本語の文字が正しく表示されましたが、言語パックのない別のコンピューターでは機能しませんでした。
これを機能させる方法についての提案を探しています。プログラムは非常に単純で、Win32 API、GDI+、および STL のみを使用して C++ で記述されています。可能であれば、これらのライブラリだけに固執したいと思います。UNICODE #defined があります。
テキストの描画に基本的に使用しているコードを以下に貼り付けます。
.net - アルファ チャネルを使用して画像のサイズを変更する
画像を生成するためのコードを書いています - 基本的に、大きくて透明な領域を含むソース画像があります。
GDI+ を使用してその画像を開き、オブジェクトを追加します。
次にやりたいことは、この新しい画像をもっと小さく保存することです。そのため、ソース Image オブジェクトと高さと幅を受け取る Bitmap コンストラクターを使用して保存しました。
アルファ チャネルがカラー チャネルのように平滑化されることを期待していましたが、そうはなりませんでした。半透明のピクセルがいくつか発生しましたが、全体的に非常にブロック状です。何を与える?
編集:「最高品質」に設定したときにPaint.NETが行うことのように、私が欲しいのはスーパーサンプリングだと思います
c++ - Gdiplus::Image::GetWidth() と他のゲッターの束は「const」であるべきではありませんか?
なぜそれらはconstではないのですか?
これは API の設計に欠陥があると思います。または、何か不足していますか?
対。
c++ - gdiplus コンストラクト 文字列からの画像
MySQL++ API を使用して MySQL データベースから画像を抽出しています。文字列の表現である mysqlpp::sql_mediumblob として画像を取得します。GDI+ を使用していくつかの画像を回転させたいのですが、このコンストラクターの使用方法がわかりません。
ブロブに保持されている画像を使用します。前もって感謝します。
c# - C#/GDI+でのFormat8bppIndexedからFormat24bppRgbへの変換
了解しました。外部アプリケーションから8ビットのインデックス形式で画像が届きました。この画像をまったく同じサイズの24ビット形式に変換する必要があります。
同じサイズでタイプFormat24bppRgbの新しいビットマップを作成し、Graphicsオブジェクトを使用して8ビット画像を描画してからBmpとして保存してみました。このアプローチはエラーになりませんが、結果の画像を開くと、BMPヘッダーにはあらゆる種類のファンキーな値が含まれています。高さと幅は非常に大きく、さらに、圧縮フラグやその他のいくつかの面白い(そして大きな)値があります。残念ながら、私の特定の要件は、このファイルを特定のヘッダー値を持つ24ビットイメージを要求する特定のプリンタードライバーに渡すことです(これはGDI +を介して達成しようとしています)
インデックス付きファイルをインデックスなしの24ビットファイルに「アップコンバート」する例を知っている人はいますか?例ではない場合、自分で書くためにどのパスから始めるべきですか?
-Kevin Grossnicklaus kvgros@sseinc.com
graphics - .NET 3.5 で EXIF 形式の画像ファイルを保存する方法
System.Drawing.Image.Save または .NET Framework v3.5 を使用する C# アプリケーションで同様の方法を使用して、画像を EXIF 形式で保存したいと考えています。MSDN のドキュメントには、ImageFormat のオプションとして EXIF が記載されています。ただし、サポートされていないようです-少なくとも、私には不明な構成がなければサポートされていません. ImageCodecInfo.GetImageEncoders() を介して組み込みエンコーダーを列挙すると、EXIF は含まれません。(私のマシン (Vista Ultimate x64) に組み込まれているエンコーダーは、BMP、JPEG、GIF、TIFF、および PNG です。) ImageFormat.Exif プロパティを使用して画像を保存すると、デフォルトの PNG 形式が取得されます。
.NET 3.5 を使用して画像を EXIF 形式で保存するにはどうすればよいですか?
gdi+ - ピクセル ズームの GDI+ サイズ変更
GDI ライブラリを使用して画像のサイズを変更し、以前よりも大きくなるようにサイズを変更すると、ブレンドが発生しないようにしたいと考えています。(ペイント プログラムで画像を拡大するときのように)
例: 画像の幅が 2 ピクセル、高さが 2 ピクセル
(白、白、
白、黒)
で、サイズを 100% に変更すると、高さ 4 ピクセル x 4 ピクセル
(白、白、白、白、白、
白) になります。 、白、白、
白、白、黒、黒、
白、白、黒、黒)
これを実現するために、グラフィック オブジェクトのどの InterpolationMode または Smoothing モード (またはその他のプロパティ) を使用できますか? これまでに試したすべての組み合わせで、テスト イメージにグレーが表示されます。
これが私が使用しているコードです
c# - 複数のモニターのすべてのウィンドウに描画する
次のコードを使用して、単一のモニターに描画しています。
本来、これは 理論的にはどちらのモニターでも描画する必要があります。ただし、プライマリのみを使用します。したがって、これを修正するために、すべてのディスプレイの DC を取得し、この方法で実行しようとしています。
考えてみてください、これは画面にまったく描画されません。CreateDC のさまざまなオーバーロードを試し、SO やその他のリソースを検索しましたが、困惑しました。
これが解決されたら、SHCHangeNotify を使用してデスクトップを更新することでちらつきをなくす方法を知っている人はいますか? 私は2本の線を描いているだけで、狂ったようにちらつきます..)