Изменение размера изображения любого размера до фиксированного размера с помощью веб-формы C # ASP.Net - PullRequest
1 голос
/ 01 апреля 2012

Я произвел изменение размера изображения, позволяя пользователю загружать изображение определенного размера, а затем обрезать их до другого размера. Я также использовал jCrop в проекте, чтобы позволить пользователям загружать изображение определенного размера, а затем выбрать область изображения и обрезать его соответственно.

В новом проекте у меня есть требование, чтобы пользователь мог загрузить изображение любого размера, ширина которого не менее 500 пикселей, а затем я должен позволить пользователю выбрать часть изображения с помощью jCrop, а затем сохранить изображение в другом размере 475x313. , 310x205 при сохранении пропорции.

Я могу сделать это, если я позволю использовать для загрузки изображения фиксированного размера, но я не уверен, как я могу обрабатывать изображение переменного размера.

Мне также нужно отобразить загруженное изображение перед кадрированием в поле фиксированного размера ... скажем, 300x200. в этой области я должен позволить пользователю выбрать часть изображения, прежде чем я смогу обрезать его.

Проблема, с которой я сталкиваюсь, заключается в том, как обработать изображение переменной длины и показать, что оно представляет собой фиксированное изображение размером 300x200px.

Ответы [ 2 ]

1 голос
/ 12 февраля 2013

Я написал статью о , используя jCrop с динамически изменяемым размером загруженных изображений , что, кажется, вам и нужно.

Если вы ищете ASP с открытым исходным кодомЭлемент управления .NET, который делает это за вас, проверьте cropimage.net .

0 голосов
/ 01 апреля 2012

Хотите перейти на programmatically, чем вы можете попробовать это:

, если вы используете file upload для загрузки изображений

    string path = Path.GetFileName(fileuploaderID.PostedFile.FileName); 
    ConvertThumbnails(width, height, fileuploaderID.FileBytes, path);

ваша функция

       public void ConvertThumbnails(int width, int height, byte[] filestream, string path)
      {
        // create an image object, using the filename we just retrieved

        var stream = new MemoryStream(filestream);
        System.Drawing.Image image = System.Drawing.Image.FromStream(stream);

         try
              {  
                int fullSizeImgWidth = image.Width;
                int fullSizeImgHeight = image.Height;
                float imgWidth = 0.0F;
                float imgHeight = 0.0F;
                imgWidth = width;
                imgHeight = height;

                Bitmap thumbNailImg = new Bitmap(image, (int)imgWidth, (int)imgHeight);
                MemoryStream ms = new MemoryStream();
                // Save to memory using the Jpeg format
                thumbNailImg.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                // read to end
                byte[] bmpBytes = ms.GetBuffer();
                item.Attachments.Add(path, bmpBytes);
                thumbNailImg.Dispose();
                ms.Close();

        }
        catch (Exception)
        {
            image.Dispose();
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...