2

これが私のコードです

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 です。

4

1 に答える 1

0

わかった。これは、アップロードされた(トリミングされていない)画像の表示方法です。

<img src="blabla.jpg" width="400px" />

それで、Jcrop はこの 400px でポイントを見つけています。ただし、元の画像は 800px です。

于 2012-04-20T06:48:48.243 に答える