Эта статья в основном вводит метод обрезки миниатюр с фиксированными пропорциями ASP.
Есть два общих метода генерирования миниатюр:
Первый тип: масштабировать в маленькую картину фиксированного размера
Второй тип: небольшие изображения, которые масштабируются до равных пропорций
Недостатком первого метода является то, что она деформирует картину, такую как стройная девушка, превращаясь в толстую девушку
Недостаток второго метода состоит в том, что если изображение отображается в таблице и соотношение сторон рисунка отличается от этой таблицы, оно не может заполнить всю таблицу, оставляя разрыв, который не выглядит красивым.
Представленный здесь метод заключается в том, чтобы исправить обрезку масштаба , используя компонент ASPJPEG, то есть соотношение сторон сгенерированной миниатюры является фиксированным, но не деформируется. Если соотношение сторон исходного изображения больше, чем установленное соотношение сторон, избыточные изображения с обеих сторон будут автоматически вырезаны; и нижние стороны будут автоматически вырезаны;
?
- FunctionMakePic (Sourcpic, Newwidth, Newheight, Destpic)
- OnerRorResumenext
- MakePic = false
- Setjpeg = server.createObject (persits.jpeg)
- Iferrthen
- response.write (ошибка: компонент ASPJPEG не установлен в пространстве)
- response.end
- эндиф
- Jpeg.quality = 100
- Jpeg.opensourcpic
- jpeg.preserveaspectratio = true 'Равное соотношение масштабирования
- ifjpeg.originalwidth/jpeg.originalheight> newwidth/newheightthen'it слишком плоский, вам нужно отрезать левые и правые части
- jpeg.height = newheight
- jpeg.cropcint ((jpeg.width - newwidth)/2), 0, cint ((jpeg.width - newwidth)/2)+newwidth, newheight
- else'it слишком высоко, отрезать верхнюю и нижнюю части
- jpeg.width = newwidth
- jpeg.crop0, cint ((jpeg.height - newheight)/2), Newwidth, cint ((jpeg.height - newheight)/2)+newheight
- эндиф
- Jpeg.savedestpic
- iferr.number = 0thenmakepic = true
- Jpeg.close
- Setjpeg = ничего
- Конечная функция