aspjpeg — очень мощный компонент обработки изображений, чисто английская версия. Тем не менее, уже существуют бесплатные версии и взломанные версии, но не так много статей, которые подробно и подробно представляют их. Даже если они и есть, они включают только миниатюры изображений и водяные знаки. Возможно, это потому, что оно на чистом английском языке.
Здесь я расскажу о расширенном использовании aspjpeg с учетом этих проблем. Технологии здесь в основном включают в себя:
Миниатюры изображений, водяные знаки изображений, технология защитного кода, вырезание изображений, объединение изображений, поддержка баз данных, внедрение более необычных методов и некоторых связанных с ними практических технологий.
Единственным недостатком aspjpeg является то, что метод вывода относительно прост. Здесь мы в основном говорим об этом методе вывода, который сохраняет обработку изображения, а затем вызывает ее. К тому же я ленив, поэтому некоторые коды до сих пор цитируются из оригинальных документов, а то, чего я не понимаю, буду время от времени объяснять!
Товарищи, изучавшие VB или .net, обязательно поймут это с первого взгляда. Кисть приближается. хе-хе.
1. Миниатюра изображения
<%
Set Jpeg = Server.CreateObject("Persits.Jpeg") вызывает компонент
Path = Server.MapPath("images") & " clock.jpg" Путь к обрабатываемому изображению.
Jpeg.Open Path открывает изображение на половину высоты и ширины исходного изображения.
Jpeg.Width = Jpeg.OriginalWidth / 2
Jpeg.Height = Jpeg.OriginalHeight / 2
сохранить изображение
Jpeg.Save Server.MapPath("images") & " clock_small.jpg"
%>
<IMG SRC="images/lock_small.jpg"> Просмотр обработанных изображений
2. Водяной знак изображения
<%
Установить Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open Server.MapPath("images/dodge_viper.jpg")
Начать писать текст
Jpeg.Canvas.Font.Color = &000000' красный цвет
Jpeg.Canvas.Font.Family = Шрифт "Courier New"
Jpeg.Canvas.Font.Bold = True, жирный ли шрифт
Jpeg.Canvas.Print 10, 10, «Авторское право (c) XYZ, Inc.»
Печать координат x Печать координат y Символы для печати Ниже представлена обработка границ изображения.
Jpeg.Canvas.Pen.Color = &H000000' черный цвет
Jpeg.Canvas.Pen.Width = ширина кисти 2
Jpeg.Canvas.Brush.Solid = Ложь, следует ли выделять жирным шрифтом
Jpeg.Canvas.Bar 1, 1, Jpeg.Width, Jpeg.Height
Начальная координата X Начальная координата Y входная длина входная высота
Jpeg.Save Server.MapPath("images/dodge_viper_framed.jpg") Сохранить
%>
3. Код безопасности
Принцип кода безопасности аналогичен добавлению водяного знака. Многие друзья спрашивают меня о конкретной технологии кодирования. Я запишу ее и поделюсь с вами здесь. хе-хе.
<%
Функция генерации кода безопасности www.downcodes.com
функция make_randomize(max_len,w_n) max_len генерирует длину, w_n: 0 может содержать буквы, 1: только цифры
рандомизировать
для intcounter=1 до max_len
Whatnext=int((1-0+1)*rnd+w_n)
если чтоследующее=0 тогда
верхний = 122
нижний = 97
еще
верхний = 57
нижний = 48
конец, если
strnewpass=strnewpass & chr(int((upper-lower+1)*rnd)+lower)
следующий
make_randomize=strnewpass
конечная функция
%>
Создайте изображение защитного кода. Конечно, вам необходимо заранее подготовить фоновое изображение
<%random_num=make_randomize(4,1) для генерации 4-значного кода безопасности.
session("random_num")=random_num Зачем вызывать сеанс? Без кода безопасности сеанса это совершенно бессмысленно. Ха-ха
Set Jpeg = Server.CreateObject("Persits.Jpeg") вызывает компонент
Jpeg.Open Server.MapPath("infos/random_pic/random_index.gif") Открыть подготовленное изображение.
Jpeg.Canvas.Font.Color = &H006699
Jpeg.Canvas.Font.Family = "Arial Black"
Jpeg.Canvas.Font.Bold = ложь
Jpeg.Canvas.PrintText 0, -2, случайное_число
jpeg.save Server.MapPath("infos/random_pic/random_index.bmp") сохранить
%> <img src="infos/random_pic/random_index.bmp" border="0" align="absmiddle">
Сделай это сам. хе-хе.
4. Вырезание изображений
Долгое время люди, не знающие об aspjpeg, думали, что с его помощью нельзя вырезать.
Вообще-то есть такой метод
обрезка x1,y1,x2,y2
Отрежьте координату x верхнего левого угла прямоугольника и координату y нижнего правого угла прямоугольника. Я приведу демонстрацию ниже.
Установить Jpeg = 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("images") & "dodge_viper.jpg"
Photo.Открыть PhotoPath
Установить логотип = Server.CreateObject("Persits.Jpeg")
LogoPath = Server.MapPath("images") & " clock.jpg"
Logo.Open LogoPath
Logo.Width = 70
Logo.Height = Logo.Width * Logo.OriginalHeight / Logo.OriginalWidth
Photo.DrawImage 0, 0, Logo
Photo.SendBinary Здесь используется метод вывода sendBinary. Конечно, вы также можете сначала сохранить измененный файл dodge_viper.jpg, а затем ввести его. Лично мне не нравится использовать метод sendBinary, поскольку он подвержен ошибкам при низкой скорости сети. По скорости тоже не очень. хе-хе.
6. Поддержка баз данных.
Не буду здесь вдаваться в подробности. Фактически, это двоичный метод. Как мы все знаем, изображения могут храниться только в виде двоичных файлов при хранении в базе данных. Итак, код был написан лениво.
7. Дополнительные методы для представления
Canvas.Line(слева, сверху, справа, снизу)
нарисовать прямую линию
Canvas.Ellipse(слева, сверху, справа, снизу)
нарисовать эллипс
Canvas.Circle(X, Y, Радиус)
нарисовать круг
Canvas.Bar(слева, сверху, справа, снизу)
Нарисуйте прямоугольник с введенным на нем кодом
Canvas.Font.ShadowColor
цвет тени текста
Canvas.Font.ShadowXOffset как длинный
Настройка координат тени X
Canvas.Font.ShadowYOffset как длинный
Настройка координаты Y
Canvas.Font.BkMode как строка
текстовый фон
Автор статьи: Юлан Эта статья перепечатана, авторские права принадлежат первоначальному автору.