2012-04-01 3 views
1

Я сделал изменение размера изображения, позволяя пользователю загружать изображение определенного размера, а затем обрезать его до другого размера. Я также использовал jCrop в проекте, чтобы пользователи могли загрузите изображение определенного размера и затем выберите область изображения & обведите его соответствующим образом.Изменить размер любого размера до фиксированного размера с помощью веб-формы C# ASP.Net

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

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

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

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

ответ

0

Хочет пойти на 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(); 
     } 
    } 
Смежные вопросы