aspjpeg — очень мощный компонент обработки изображений, чисто английская версия. Тем не менее, уже существуют бесплатные версии и взломанные версии, но не так много статей, которые подробно и подробно представляют их. Даже если они и есть, они включают только миниатюры изображений и водяные знаки. Возможно, это потому, что оно на чистом английском языке.
Используя aspjepg, вы можете в основном делать:
Миниатюра изображения
Изображение водяного знака
технология защитного кода
Резка фотографий
Объединение изображений
Поддержка базы данных
1. Миниатюры изображений.
Посмотрите обработанные фотографии.
2. Изображение водяного знака.
.
3. Код безопасности
.
Принцип Ping An Ma аналогичен добавлению водяного знака.
.
Изображение сгенерированного кода безопасности.
4. Вырезка изображения
.
Долгое время люди, не знающие об aspjpeg, думали, что использовать его для резки нельзя.
Вообще-то есть такой метод
обрезка x1,y1,x2,y2
Отрежьте координату x верхнего левого угла прямоугольника и координату y нижнего правого угла прямоугольника.
Ниже я приведу демонстрацию.
SetJpeg =
Server.CreateObject(Persits.Jpeg)
jpeg.open server.MapPath(/pic/1.gif)
jpeg.width=70
Jpeg.Height = Jpeg.OriginalHeight*70 / jpeg.Originawidth
jpeg.crop 0,0,70,52 Начать вырезать — значит удалить нижнюю часть, размер которой превышает 52 пикселя.
jpeg.save
server.MapPath(/temp_pic/small_1.gif) Сохранить
5. Объединение изображений
.
Здесь мы собираемся добавить изображение логотипа к изображению dodge_viper.jpg.
Установить фото =
Server.CreateObject(Persits.Jpeg)
PhotoPath = Server.MapPath(изображения)
& /dodge_viper.jpg
Photo.Открыть PhotoPath
Установить логотип =
Server.CreateObject(Persits.Jpeg)
LogoPath = Server.MapPath(изображения)
& /lock.jpg
Логотип.Открыть путь к логотипу.
Логотип. Ширина = 70
Логотип.Высота = Логотип.Ширина * Логотип.ОригинальнаяВысота / Логотип.ОригинальнаяШирина
.
Photo.DrawImage 0, 0, Логотип.
Фото.SendBinary
Здесь используется метод вывода sendBinary. Конечно, вы также можете сначала сохранить измененный файл dodge_viper.jpg, а затем ввести его. Лично мне не нравится использовать метод sendBinary, поскольку он подвержен ошибкам при низкой скорости сети. По скорости тоже не очень.
6. Поддержка базы данных
.
Здесь особо нечего сказать. Фактически, это двоичный метод. Как мы все знаем, изображения могут храниться только в виде двоичных файлов в базе данных. Итак, код был написан лениво. .
7. Знакомство с другими методами
.
Canvas.Line(слева, сверху, справа, снизу)
нарисовать прямую линию
Canvas.Ellipse(слева, сверху, справа, снизу)
нарисовать эллипс
Холст.Круг(X, Y,
Радиус)
нарисовать круг
Canvas.Bar(слева, сверху, справа, снизу)
Нарисуйте прямоугольник с введенным на нем кодом
Canvas.Font.ShadowColor
цвет тени текста
Canvas.Font.ShadowXOffset как длинный
Настройка координат тени X
Canvas.Font.ShadowYOffset как длинный
Настройка координаты Y
Canvas.Font.BkMode как строка
текстовый фон.
'//------Pollener.com Предварительный просмотр компонента AspJpeg и создание водяных знаков ------ Старт ------
'Создать изображение предварительного просмотра: позвонить
CreateView (путь к исходному файлу, имя и путь к файлу предварительного просмотра)
Саб
CreateView (имя изображения, имя tempFilename)
'Определить переменные.
Дим
Имя папки предварительного просмотра
Тусклый ogvbox,objFont
Тусклый логотип, LogoPath
Путь к логотипу
= Server.MapPath(изображения) & /shuiyin.gif
'//Добавляем путь и имя файла изображения (у меня forum/images/shuiyin.gif).
Выберите случай
upload_ViewType
Случай
0
'---------------------CreatePreviewImage---------------
setogvbox=
Server.CreateObject(CreatePreviewImage.cGvbox)
ogvbox.SetSavePreviewImagePath=Server.MapPath(tempFilename)
'Предварительный просмотр пути хранения изображений.
ogvbox.SetPreviewImageSize =SetPreviewImageSize
'Ширина предварительного просмотра.
ogvbox.SetImageFile = Trim(Server.MapPath(имя изображения))
'Физический путь к исходному файлу imagename.
'Создаем файл изображения предварительного просмотра.
Если
ogvbox.DoImageProcess=false Тогда
Response.write генерирует ошибку изображения предварительного просмотра:&
ogvbox.GetErrString
Конец, если
Случай
1
'---------------------AspJpegV1.2--------------
Установить логотип =
Server.CreateObject(Persits.Jpeg)
'//Рекомендуется не использовать графические и текстовые водяные знаки одновременно.
Logobox.Открыть
LogoPath '//Читаем добавленное изображение.
'//Сброс размера изображения.
Логотип.Ширина = 186
'//Значение ширины (в пикселях) изображения, используемого в качестве водяного знака.
Логотип.Высота = 52
'//Значение высоты (пикселей) изображения, используемого в качестве водяного знака.
'//Добавляем водяной знак.
Установите ogvbox =
Server.CreateObject(Persits.Jpeg)
'//Читаем исходный файл для обработки.
ogvbox.Открыть
Trim(Server.MapPath(имя изображения))
If ogvbox.OriginalWidth и FileExtgif then '//Если вы измените эту строку на IF
Режим изображения
Затем вы также можете добавить водяные знаки к загруженным изображениям GIF, но эти анимированные GIF-файлы будут иметь только первый кадр после добавления водяного знака. Вы можете обработать его в соответствии со своими потребностями.
'//Об изменении шрифта и цвета текста.
'//ogvbox.Canvas.Font.Color
= &H0000FF '//Цвет текста водяного знака, введите значение цвета после &H.
'//ogvbox.Canvas.Font.Size =
18 '//Размер текста водяного знака.
'//ogvbox.Canvas.Font.Family = Arial
'//Название шрифта текста водяного знака.
'//ogvbox.Canvas.Font.ShadowColor = &H000000
'//Цвет тени текста водяного знака.
'//ogvbox.Canvas.Font.ShadowXoffset = 1
'//Значение пикселя тени текста водяного знака смещено вправо. Введите отрицательное значение, чтобы сместиться влево.
'//ogvbox.Canvas.Font.ShadowYoffset = 1
'//Значение пикселя, на которое тень текста водяного знака смещается вниз. Если вы введете отрицательное значение, она будет сдвинута вправо.
'//ogvbox.Canvas.Font.Quality = 3
'//Четкость текста водяного знака варьируется от 0 до 4. Изменение не очень большое. Рекомендуется использовать 2 или 3.
'//ogvbox.Canvas.Font.Bold = True
'//Если текст водяного знака выделен жирным шрифтом, True=жирный, False=нормальный.
'ogvbox.Canvas.Print 10, 10,
ImageMode '//Начальные координаты (пиксели) текста водяного знака.
ogvbox.Canvas.Pen.Color =
&H000000 '//Цвет рамки изображения после добавления водяного знака.
ogvbox.Canvas.Pen.Width = 1
'//Увеличиваем ширину границы изображения после нанесения водяного знака.
ogvbox.Canvas.Brush.Solid = Ложь
'//Если граница заполнена цветом, вы можете попробовать, чтобы увидеть эффект, когда значение равно True^o^
ogvbox.DrawImage ogvbox.width-186,
ogvbox.height-52, Logobox, 0,5' //Начальные координаты изображения водяного знака, вот ogvbox.width-186,
ogvbox.height-52 означает, что картинка находится в правом нижнем углу, потому что ширина моей картинки 186, а высота 52, поэтому если вы так напишете, то сможете подогнать под свою картинку. 0,5 означает прозрачность, здесь я имею в виду полупрозрачность, 1 означает непрозрачность, вы также можете попробовать 0,7 или 0,8, чтобы увидеть эффект.
ogvbox.Canvas.Bar
0, 0, ogvbox.Ширина, ogvbox.Высота
'//Доступный диапазон водяных знаков. Я имею в виду, что водяной знак можно добавить где угодно, от верхнего левого угла до нижнего правого угла всего изображения.
ogvbox.Сохранить
Server.MapPath(imagename) '//Сгенерируем файл изображения с добавленным водяным знаком на основе указанных выше параметров.
Конец
Если
ogvbox.Width = Ширина изображения
ogvbox.height =
Высота изображения
'ogvbox.height =
ogvbox.Originalheight*ImageWidth/ogvbox.OriginalWidth
ogvbox.Резкость 1, 120
ogvbox.Сохранить
Server.MapPath(tempFilename) '//Создаем изображение предварительного просмотра после добавления водяного знака.
Конец
Если
Установить логотип=Ничего
'//------Pollener.com
Предварительный просмотр и создание водяных знаков компонента AspJpeg ------Конец-----