問題タブ [drawimage]
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.
gdi+ - gdi+ Graphics::DrawImage 本当に遅い~~
GDI+ グラフィックを使用して 4000*3000 の画像を画面に描画していますが、非常に遅いです。約300msかかります。10ms未満しか占有しないことを願っています。
// - - - - - - - - - - - - - - - - - - - - - - // この部分約 300 ミリ秒かかります。
//----------------------------------------------
後でビットマップを編集したいので、CachedBitmap を使用できません。
どうすれば改善できますか?それとも何か間違っていますか?
このネイティブ GDI 関数も画像を画面に描画し、わずか 1 ミリ秒かかります。
//------------------------------------------------ --------------
StretchDIBits を使用する場合は、BITMAPINFO を渡す必要がありますが、Gdi+ ビットマップ オブジェクトから BITMAPINFO を取得するにはどうすればよいですか? 私は FreeImage lib で実験を行いました。FreeImageplus オブジェクトを使用して StretchDIBits を呼び出すと、非常に高速に描画されます。しかし今、ビットマップを描画し、ビットマップのビット配列にアルゴリズムを記述する必要があります。ビットマップ オブジェクトがある場合、どうすれば BITMAPINFO を取得できますか? 本当に迷惑です-___________-|
java - Javaで画像を重ね合わせるにはどうすればよいですか?
だから私はずっと投稿してきましたが、まだ確かな答えを得ていません:
切り抜きメソッドを使用して、画像のサイズ変更クラスを作成しました。トリミングはうまく機能します。私が抱えている問題は、drawImage
関数で指定した背景色がGraphics
正しく機能していないことです。私が提供するものに関係なく、背景としてデフォルトで黒になります(この場合はColor.WHITE
)。
また、オーバーレイ画像または一番上の画像(ファイルからのもの)が反転している(そうだと思います)か、変色しています。これをもう少しよく概念化できるように、jpeg を取得して新しい の上にオーバーレイしていBufferedImage
ます。新しいバッファリングされた画像の背景は設定されていません。これが私が取り組んでいる以下のコードです:
gdi+ - 別の画像に画像を描画する最速の方法は何ですか?
私は 3 ビットマップ ポイントを持っています。
複雑な背景をbottomLayerに描いていきます。totalCanvas の複雑な背景を何度も再描画したくないので、bottomLayer に格納しました。
TopLayer は頻繁に変更されました。bottomLayer を totalCanvas に描画したい。最速の方法はどれですか?
step1をできるだけ速くしたい。誰かサンプルをくれませんか?どうもありがとう!
くつろぎの答えをありがとう。次のコードを書きます。
この部分は 968 ミリ秒かかります...遅すぎます...
c# - C#: Graphics.DrawImage を使用して解像度が異なってもサイズを保持する
C# Drawing 名前空間を使用して、2 つの画像を並べて描画しようとしています。以下は、同じ高さの 2 つの画像があると仮定した非常に単純な例です。
2 つの古い画像の解像度が同じであれば、これは問題なく機能します。
ただし、解像度が異なる場合、画像のサイズが変更され、問題が発生します。たとえば、最初の画像の解像度が異なる場合、2 番目の画像は正しく配置されません。
この問題を簡単に解決する方法を知っている人はいますか? 理想的には、元の画像を新しい画像に描画するときに、元の画像の高さと幅を同じままにしたいと考えています。
.net - Drawing.Graphics - ソース ビットマップのピクセル オフセットを変更する方法は?
私が探していることを行うための関数またはメソッドを見つけるのに小さな問題があり、誰かがここで少しの洞察を与えることができることを願っています.
内部に 32x32 タイルのセットがある大きなビットマップから 32x32px ビットマップを抽出して返す関数があります。
これが私が今持っているコードですがTile.GFX_Pos
、ソース画像のどこから描画するかではなく、宛先画像のどこに描画するかをプロパティが示しているため、間違っています。
したがって、これが機能しないため、SrcGFX
(現在のように誤って) 宛先ビットマップのどこにブリットするかを選択する代わりに、ビットマップのどこからブリットするかを選択する良い方法を誰かが知っているかどうか疑問に思っています。
gdi+ - GDI+、DrawImage を使用してソース画像の透過マスクを描画
を使用して画像の透過マスクを描画する (つまり、すべての可視ピクセルを一定の色でペイントする) ことは可能Graphics::DrawImage
ですか? 画像をピクセルごとに手動でスキャンして別のマスク画像を作成することを探しているわけではありません。元の画像から直接マスク画像を描画できるかどうか疑問に思っています。
私の推測ではImageAttributes
、可能であれば、特定の操作で行う必要があります。
マスクの色は任意で正確である必要があり、透明度のしきい値があればプラスになります。
c# - GDI の DrawImage(Unscaled) よりもパフォーマンスを向上させる方法は?
ユーザー コントロールのペイント ハンドラーで、定義済みの Bitmap オブジェクトのコレクションを繰り返し処理し、クライアント領域に描画します。
C# バージョン:
VB.NET バージョン:
コードは問題なく動作しますが、12 個ほどのオブジェクトがコレクションに追加されると、動きが鈍くなり始めます。私の質問は: これをスピードアップする方法はありますか? Win32 の bitblt 関数を使用して DrawImageUnscaled を置き換えることはできますか? もしそうなら、どのように?
ありがとう!
注: BitBlt の使用に関するグーグル検索では、これまでのところ画面キャプチャのサンプルしか得られませんでした...
c# - XP モードまたはリモート デスクトップでの DrawImage
Windows 7 では見栄えのする透明な背景を持つ PNG を表示していますが、XP モードまたは Windows XP マシンへのリモート デスクトップでアプリを実行すると、PNG が正しく表示されません。「統合モード」を無効にするか、リモート デスクトップを使用せずに XP でアプリを実行すると、画像が正常に表示されることに気付きました。
XP モードまたはリモート デスクトップで DrawImage に PNG を正しくレンダリングさせるにはどうすればよいですか?
Windows 7 内のイメージ
代替テキスト http://www.freeimagehosting.net/uploads/957bb6ea8b.png
XP モードまたはリモート デスクトップ内の画像
代替テキスト http://www.freeimagehosting.net/uploads/08f1fbec46.png
これが私のコードです:
html - HTML Canvas の自動伸縮を回避する方法
次の HTML があります。
問題は、描画された画像がキャンバスのサイズに比例して自動的に引き伸ばされる (サイズ変更される) ことです。使用可能なすべてのパラメーター ( drawImage(i, 0, 0, 20, 20, 0, 0, 20, 20)
) を使用してみましたが、役に立ちませんでした。
描画が伸びてしまう原因と、それを防ぐ方法を教えてください。
ありがとう、
トム