私は1px幅で、ある程度の高さの画像を持っています。このイメージをOnPaintイベントのコントロールの幅全体に描画する必要があります。私は描くことができますが、正しくはありません。それが伸びているように見えますが、実際にはすべてのピクセルを塗りつぶすわけではありません。あたかも補間がオフであるかのように。 「スマートではなくて、ただそれを描く」と言う方法はありますか?グラフィックスオブジェクトのオプションにInterpolationMode.Offまたは.Noneは表示されません。c#Graphicsに画像を描画(スケーリング)し、正しく補間しません。修正?
実際には幅Xの画像を使用して、実際には全幅を描画していることを確認できます.Xはコントロールと同じ幅です。それが描画されるとき、それは通常どおり完全な領域をカバーします。しかし、このコントロールは常にサイズが変更されており、メモリーを節約するために、1pxの幅の画像を使用するジャズはウェブ世界では非常に正常です。これは、デスクトップC#アプリケーションです。どのようにこれを修正するための任意のアイデア?
私は同じ問題を抱えていて、PixelOffsetModeとInterpolationModeのいくつかのバリエーションを試した後、これが私にとってうまくいきました。 Googleで検索する場合:PixelOffsetModeをHalfに設定すると、graphics.DrawImage(...)はエイリアシングなしで画像をサイズ変更し(MS Paintのように)、指定したサイズ/長方形を塗りつぶします。 アーティファクト/ブレンディングを気にせず(1つの単色であるため、存在しないため)、単一のカラーイメージ/パターンをオーバーレイしたい場合には、これが適しています。 – Andrew