2011-07-28 23 views
2

.netのmicrosoft chartコントロールによって作成されたイメージのDPIでのイメージ解像度を定義するにはどうすればいいですか?イメージ)。Microsoft Chart Controlで生成された解像度(DPI)をasp.netで生成する方法

chartingコントロールのwinformsバージョンにはChart.RenderingDpi[X|Y]-プロパティがありますが、asp.netコントロールではこのようなプロパティは見つかりません。

誰かがこれを行うための解決策に私を導くことができますか?

更新
ソリューションを探し間に、私は、チャート・コントロールは、ペイントメソッドを持っていることを見てきました。これで私は他のDPI設定で画像を作成することができました。私はこれが正しい方法であるかどうかはわかりませんが、結果は私にとって悪くはないように見えます。私は答えとしてコードを投稿しました。誰かがもっと素敵な解決策を持っているなら、私に知らせてください。

答えて

5

ここで私が見つけた解決策は、良い結果をもたらします。

Bitmap bmp = new Bitmap(size.Width, size.Height); 
bmp.SetResolution(resX,resY); 
using (Graphics g = Graphics.FromImage(bmp)) { 
    chart.Paint(g,new Rectangle(new Point(0,0),GetSizeOrDefault(context))); 
} 
0

あなたはGetBytesメソッドを使用してPNGとしてI出力鉱山「どのように周りの迷惑JPEGラスタのアーティファクトを取得する」として、あなたの質問を言い換えるならば。次に、コンストラクタを使用して高さ/幅を設定します。

Chart chart = new Chart(width: 1200, height: 600, theme: ChartTheme.Blue); 
... 
chart.GetBytes("png"); 

あなたが興味があるならば、私は画像

return "data:image/png;base64," + System.Convert.ToBase64String(chart.GetBytes("png")); 
に.NET MVC拡張メソッドとベース64エンコードで、このようにそれを使用します
関連する問題