Я делаю инструмент для обрезки изображений, и я не могу понять, почему он производит изображения, которые он производит ...
Я следую принятому ответу здесь , но все еще странно ... Вот мой код:
public void Crop(
string FileName,
Crop Crop) {
using (Bitmap Source = ((Bitmap)Image.FromFile(FileName))) {
using (Bitmap Target = new Bitmap(Crop.Width, Crop.Height)) {
using (Graphics Graphics = Graphics.FromImage(Target)) {
Graphics.DrawImage(Source, new Rectangle(new Point(Crop.Left, Crop.Top), new Size(Crop.Width, Crop.Height)), new Rectangle(new Point(0, 0), new Size(Target.Width, Target.Height)), GraphicsUnit.Pixel);
};
Target.Save((FileName + ".temp"), JpegCodecInfo, HighQualityEncoder);
};
};
this.NormalizeFileName(FileName);
}
Пожалуйста, помогите мне.Я прилагаю изображение того, что я получаю ...
ОБНОВЛЕНИЕ
Для @Aaronontheweb, вот класс Crop
и как этозаполнено:
public class Crop {
[Required]
public short Height { get; set; }
[Required]
public short Left { get; set; }
[Required]
public short Top { get; set; }
[Required]
public short Width { get; set; }
}
И jQuery, который его заполняет:
$("#Image input:submit").bind("click", function () {
$("#Crop\\.Height").val(Crop.height());
$("#Crop\\.Left").val(Crop.position().left);
$("#Crop\\.Top").val(Crop.position().top);
$("#Crop\\.Width").val(Crop.width());
});
ОБНОВЛЕНИЕ 2
Неважно, я понял.Я задремал после того, как задал свой вопрос, просто чтобы очистить голову, и когда я снова посмотрел на него, я решил поменять два прямоугольника и посмотреть, что произойдет.Ну, угадайте, что, это исправило это.
В этот момент я должен был бы сказать, что имена, приведенные в документации API, являются обманчивыми.Например, документы ссылаются на выходное изображение как source , а входное изображение как display .Возможно, API должен быть обновлен, чтобы иметь более удобное наименование?