これが私のコードです
using (var photo = System.Drawing.Image.FromFile(Server.MapPath(src)))
using (var result = new Bitmap(width, height, photo.PixelFormat))
{
result.SetResolution(
photo.HorizontalResolution,
photo.VerticalResolution);
using (var g = Graphics.FromImage(result))
{
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage(photo,
new Rectangle(0, 0, width, height),
new Rectangle(x, y, width, height),
GraphicsUnit.Pixel);
photo.Dispose();
result.Save(Server.MapPath(src));
}
}
画像を縦に選択すると、うまく機能します。しかし、水平方向の画像は間違った領域をトリミングします。毎回。私はjcropを使用しています。jcrop が原因だとは思いません。でも、誰だってそう思いますよね。jcropコードを書くことができます。
編集:解決済み
わかった。これは、アップロードされた(トリミングされていない)画像の表示方法です。
<img src="blabla.jpg" width="400px" />
それで、Jcrop はこの 400px でポイントを見つけています。ただし、元の画像は 800px です。