Рекомендуется: как добавить или вычесть даты в функции DateAdd в ASP В этой статье будет представлено использование сложения или вычитания даты в функции DateAdd в ASP. Те, кому нужно знать, могут ссылаться на это.
1. Добавьте водяной знак к картинкеСкопируйте код следующим образом: www.cuoxin.com
<%
Dim jpeg '' '' // объявить переменные
Установить jpeg = server.createObject ("persits.jpeg") '' '' // Вызов компонент
Jpeg.open server.mappath ("aaa.jpg") '' '' // Расположение источника изображения
Jpeg.canvas.font.color = & h000000 '' '' // watermark font color
Jpeg.canvas.font.family = "安安" '' '' // шрифт водяного знака
Jpeg.canvas.font.size = 14 '' '' // Размер шрифта водяного знака
Jpeg.canvas.font.bold = false '' '' // это смелый? Использование: истинно
Jpeg.canvas.font.bkmode = & hfffff '' '' // Цвет фона шрифтов
Jpeg.canvas.print 10, 10, «Непобедимая Naughty Studio» '' '' // Водяной знак текст, два числа 10 - координаты xy водяного знака
Jpeg.save server.mappath ("aaa_05.jpg") '' '' // Сгенерировать новое изображение с водяным знаком и локацией сохранения
Установить JPEG = ничего '' '' // Войдите в состав компонента и выпустите ресурс
Response.write "<img src = aaa_05.jpg>" '' '' // Показать изображение после того, как на этой странице генерируется изображение после
%>
2. генерировать миниатюры
Скопируйте код следующим образом: www.cuoxin.com
<%
Dim jpeg '' '' // объявить переменные
Установить jpeg = server.createObject ("persits.jpeg") '' '' // Вызов компонент
Jpeg.open server.mappath ("aaa.jpg") '' '' // исходное местоположение изображения
Jpeg.width = jpeg.originalwidth/4 '' '' // Предположим, что ширина изображения составляет четверть оригинальной картинки
Jpeg.height = jpeg.originalheight/4 '' '' // Предположим, что высота изображения составляет четверть исходного изображения
Jpeg.sharpen 1, 130 '' '' // Установить эффект заточки
Jpeg.save server.mappath ("aaa_small.jpg") '' '' // Сгенерировать место и имя миниатюры
Установить JPEG = ничего '' '' // Войдите в состав компонента и выпустите ресурс
Response.write "<img src = aaa_small.jpg>" '' '' // Показать сгенерированное миниатюр на этой странице
%>
Введение в передовые методы использования компонентов ASPJPEG
ASPJPEG - очень мощный компонент обработки изображений, в чистой английской версии. Тем не менее, были бесплатные версии и треснутые версии, но не так много статей, которые предоставляют для них подробное и подробное представление. Даже если они есть, они включают в себя только миниатюры и изображения водяных знаков. Может быть, это из -за чистого английского.
Здесь я расскажу о расширенном использовании ASPJPEG для этих проблем. Технологии здесь в основном включают в себя:
Картинка миниатюра
Изображение водяного знака
Технология кода безопасности
Резка с картинками
Слияние изображения
Поддержка базы данных
Более редко используемые методы
и некоторые связанные практические технологии
Единственная недостатка в ASPJPEG заключается в том, что выходной метод является относительно одиноким. Здесь мы в основном говорим об этом методе вывода, который сохраняет изображение, а затем называет его. Кроме того, я относительно ленив, поэтому некоторые коды все еще цитируются в оригинальном документе, и я объясню, что я не понимаю!
Товарищи, которые изучали VB или .NET, определенно поймут это с первого взгляда. Щетка приходит. хе -хе.
1. ПРИДОТИТЬСЯ ФОНАТА
Скопируйте код следующим образом: www.cuoxin.com
<%
Установить jpeg = server.createObject ("persits.jpeg") вызов компонент
Path = server.mappath ("Images") & "/klock.jpg".
Jpeg.open path
Высота и ширина - 1/2 оригинальной картинки
Jpeg.width = jpeg.originalwidth / 2
Jpeg.height = jpeg.originalheight / 2
Сохраните картинку
Jpeg.save server.mappath ("Images") & "/clock_small.jpg"
%>
<Img src = "Images/clock_small.jpg"> Просмотр обработанных изображений
2. Изображение водяного знака
Скопируйте код следующим образом: www.cuoxin.com
<%
Установить jpeg = server.createObject ("persits.jpeg")
Jpeg.open server.mappath ("Images/dodge_viper.jpg")
Начните писать
Jpeg.canvas.font.color = & h000000 '' 'белый цвет
Jpeg.canvas.font.family = "courier new"
Jpeg.canvas.font.bold = true
Jpeg.canvas.print 10, 10, "Copyright (C) XYZ, Inc."
Печать координата x Печать координат y символов для печати для печати
Ниже приводится обработка границы изображения
Jpeg.canvas.pen.color = & h000000 '' 'черный цвет
Jpeg.canvas.pen.width = 2 ширина кисти
Jpeg.canvas.brush.solid = false
Jpeg.canvas.bar 1, 1, jpeg.width, jpeg.height
Запуск x координата начала y координата входной длины высота ввода
Jpeg.save server.mappath ("Images/dodge_viper_framed.jpg") Сохранить
%>
3. Код безопасности
Принцип Safe MA аналогичен добавлению водяного знака. Многие друзья спрашивали меня о конкретных методах кода, поэтому я напишу это здесь, чтобы поделиться им с вами. Я не расскажу им об простых людях. хе -хе.
Скопируйте код следующим образом: www.cuoxin.com
<%
Функции, которые генерируют коды безопасности www.wuyouw.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 ((верхний нижний+1)*rnd)+нижний)
следующий
make_randomize = strnewpass
конечная функция
%>
Создайте изображение кода безопасности. Конечно, вам нужно заранее подготовить фоновое изображение
Скопируйте код следующим образом: www.cuoxin.com
<%random_num = make_randomize (4,1) генерирует 4-значный код безопасности
session ("random_num") = random_num Почему Session называется? Это совершенно бессмысленно без кода безопасности сеанса. хе -хе
Установить 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 = false
Jpeg.canvas.printtext 0, -2, random_num
jpeg.save server.mappath ("Infos/random_pic/random_index.bmp") Сохранить
%>
<img src = "Infos/random_pic/random_index.bmp" align = "absmiddle">
Сделай это самостоятельно. хе -хе.
4. Резка картинка
Люди, которые не знают Aspjpeg, всегда думали, что не могут использовать его для вырезания.
На самом деле есть такой метод
Crop X1, Y1, X2, Y2
Разрежьте x-координату верхнего левого углу прямоугольника, 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
Фактически, метод слияния изображений также может использоваться для динамической печати водяных знаков.
Скопируйте код следующим образом: www.cuoxin.com
Set photo = server.createObject ("persits.jpeg")
Photopath = server.mappath ("Images") & "/dodge_viper.jpg"
Фото. Опен фотопат
SET LOGO = SERVER.CreateObject ("persits.jpeg")
Logopath = server.mappath ("Images") & "/clock.jpg"
Logo.open LogoPath
Логотип.width = 70
Logo.height = logo.width * logo.originalheight / logo.originalwidth
Photo.drawimage 0, 0, логотип
Photo.sendbinary
Здесь мы используем метод вывода Sendbinary. Конечно, сначала вы также можете сохранить измененный Dodge_viper.jpg, а затем ввести его. Мне лично не нравится использовать метод Sendbinary, и легко допустить ошибки, когда скорость интернета медленная. Не очень хорошо со скоростью. хе -хе.
6. Поддержка базы данных
Я не скажу здесь много. На самом деле, это бинарный метод. Как мы все знаем, изображения могут храниться только как двоичные файлы только при хранении в базе данных. Так что мне лень написать код.
7. Больше методов
Canvas.line (слева, вверху, справа, внизу)
Нарисовать прямую линию
Canvas.ellipse (слева, вверху, справа, внизу)
Нарисуйте эллипс
Canvas.circle (x, y, Radius)
Нарисуйте круг
Canvas.bar (слева, вверху, справа, внизу)
Нарисуйте прямоугольник с кодом на нем
Canvas.font.shadowcolor
Текст теневой цвет
Canvas.font.shadowxoffset alls
Настройка координат Shadow X
Canvas.font.shadowyoffset alls
Y настройка координат
Canvas.font.bkmode как строка
Текстовый фон
==============================================================================
Сегодня я расскажу вам о знании ASP Добавить водяные знаки к картинкам
ASP требует, чтобы компоненты добавляли водяные знаки к изображениям ... Обычно используемые включают ASPJPEG и WSIMAGE, разработанные китайцами ... Первое бесплатно в течение 30 дней ... Последнее совершенно бесплатно ... Конечно, мы должны использовать китайские продукты ... хе -хе ...
Как зарегистрировать компоненты :
Введите «regsvr32 [dll path]» в командной строке
Добавление водяного знака к изображению - это не что иное, как получить размер изображения, а затем написание водяного знака ... Код ASP служит только компонентом управления. Используйте код, чтобы объяснить все.
1: Получите размер изображения (здесь выражается значения пикселей. Друзья, которые изучают Photoshop, должны понимать)
Скопируйте код следующим образом: www.cuoxin.com
<%
Установить obj = server.createObject ("wsimage.resize") '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
obj.loadsoucecepic server.mappath ("25.jpg") '' '' '' '' '' '' '' '' '' '' 'Откройте изображение, имя изображения 25.jpg
obj.getsourceinfo iwidth, iheight
response.write "ширина изображения:" & iwidth & "<br>" '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
response.write "Высота изображения:" & iheight & "<br>" '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
strerror = obj.errorinfo
Если Strerror <> "" Тогда
response.write obj.errorinfo
конец, если
obj.free
установить obj = ничего
%>
2: добавить текстовый водяной знак
Скопируйте код следующим образом: www.cuoxin.com
<%
Установить obj = server.createObject ("wsimage.resize")
obj.loadsoucecepic server.mappath ("25.jpg") '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
obj.quality = 75
obj.txtmarkfont = "китайское цветное облако" '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
obj.txtmarkbond = false '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
obj.markrotate = 0 '' '' '' '' '' '' '' '' '' '' '' '' ''
obj.txtmarkheight = 25 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
obj.addtxtmark server.mappath ("txtmark.jpg"), "Уберите", & H00ff00 &, 10, 70
strerror = obj.errorinfo '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
Если Strerror <> "" Тогда
response.write obj.errorinfo
конец, если
obj.free
установить obj = ничего
%>
Три: добавить изображение водяной знак
Скопируйте код следующим образом: www.cuoxin.com
<%
Установить obj = server.createObject ("wsimage.resize")
obj.loadsoucecepic server.mappath ("25.jpg") '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
obj.loadimgmarkpic server.mappath ("blend.bmp") '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
obj.quality = 75
obj.addimgmark server.mappath ("imgmark.jpg"), 315, 220, & hfffff, 70
strerror = obj.errorinfo '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''
Если Strerror <> "" Тогда
response.write obj.errorinfo
конец, если
obj.free
установить obj = ничего
%>
На самом деле, добавление водяного знака к изображению так просто. Тогда я говорю о двух других основных целях использования компонента wsimage.dll. Включая:
Разберите картинку и генерируйте миниатюру изображения.
Как я привык к этому, я добавлю комментарии к коду:
Обрезанные картинки :
Скопируйте код следующим образом: www.cuoxin.com
<%
Установить obj = server.createObject ("wsimage.resize")
obj.loadsoucecepic server.mappath ("25.jpg")
obj.quality = 75
obj.cropimage server.mappath ("25_crop.jpg"), 100,10 200 200 '' '' '' '' '' '' '' '' '' '' ''
strerror = obj.errorinfo
Если Strerror <> "" Тогда
response.write obj.errorinfo
конец, если
obj.free
установить obj = ничего
%>
Подробный комментарий: Cropimage использует метод обрезки Wsimage. При определении генерации изображения 100 и 10 являются точками выреза в верхнем левом углу, то есть 100 пикселей слева от изображения и 10 пикселей вверху. Последние два 200 представляют широкополосную связь и высоту и высоту.
Генерировать миниатюры изображения:
Скопируйте код следующим образом: www.cuoxin.com
<%
Установить obj = server.createObject ("wsimage.resize")
obj.loadsoucecepic server.mappath ("25.jpg") '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
obj.quality = 75
obj.outputspic server.mappath ("25_s.jpg"), 0,5,0,5,3 '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '
strerror = obj.errorinfo
Если Strerror <> "" Тогда
response.write obj.errorinfo
конец, если
obj.free
установить obj = ничего
%>
Подробное описание:
Есть четыре способа экспорта миниатюр :
(1) obj.Outputspic server.mappath ("25_s.jpg"), 200 150,0
200 - это выходная ширина, а 150 - высота выходной сигналы. Эта выходная форма представляет собой принудительный выходной ширина и высота, которая может вызвать деформацию изображения.
(2) obj.Outputspic server.mappath ("25_s.jpg"), 200,0,1
С 200 в качестве выходной ширины высота выходной сигналы будет масштабирована с помощью столбца.
(3) obj.outputspic server.mappath ("25_s.jpg"), 0,200,2
С 200 в качестве выходной высоты выходная ширина будет масштабирована с помощью столбца.
(4) obj.Outputspic server.mappath ("25_s.jpg"), 0,5,0,5,3
Первый 0,5 означает, что сгенерированная миниатюра составляет половину ширины исходного изображения, что означает коэффициент уменьшения ширины.
Второй 0,5 означает, что сгенерированная миниатюра составляет половину высоты исходного изображения, что означает высокий коэффициент снижения.
Постоянное снижение ширины и высоты означает, что исходное изображение будет уменьшено. Если соотношение Zoom ширины и высоты превышает 1, исходное изображение будет увеличено.
Перепечатано из: http://hi.baidu.com/miracle521/blog/item/e3419133fdc00746ac4b5f25.html
2 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Загрузить изображения asp.net с водяными знаками (текстовый водяной знак, изображение водяной знак, текст + изображение водяной знак)
Добавить водяной знак к картинке (текстовый водяной знак, изображение водяного знака, текст + изображение водяной знак)
Изображение воспроизведения:
Рисунок 500) This.width = 500 "граница = 0 <
Watermark 500) This.width = 500 "граница = 0 <
После добавления водяного знака на картинку (обратите внимание на верхний правый угол + непосредственно внизу)
500) This.width = 500 "граница = 0 <
Код:Drawimg.cs
Скопируйте код следующим образом: www.cuoxin.com
Использование системы;
Использование System.Drawing;
Использование System.Drawing.Imaging;
Использование System.Drawing.Drawing2d;
Общественный класс Drawimg
{
Private String WorkingDirectory = string.empty; //Путь
Private String ImageName = String.empty; // обработанное изображение
Private String ImageWater = String.Empty; // изображение водяного знака
Private String fontString = string.empty; // Водяной знак текст
enum deletype {none, waterimage, waterfont, doubledo}; // Enum Command
частное сделку с Dealtype;
Public Drawimg ()
{}
public String publicWorkingDirectory
{
получать
{
вернуть WorkingDirectory;
}
набор
{
WorkingDirectory = значение;
}
}
Публичная строка PublicAmageName
{
получать
{
вернуть ImageName;
}
набор
{
ImageName = value;
}
}
Public String publicimagewater
{
получать
{
вернуть Imagewater;
}
Установите // Если вы установите изображение водяного знака, это означает, что вы хотите использовать эффект изображения водяного знака.
{
deletype = deletype.waterimage;
Imagewater = значение;
}
}
public String publicfontstring
{
получать
{
вернуть шрифт;
}
Установите // Если установлен текст водяного знака, это означает, что требуется текстовый эффект водяного знака.
{
deletype = deletype.waterfont;
Fontstring = value;
}
}
Public Void DealImage ()
{
Isdouble ();
Переключатель (Dealtype)
{
case Dealtype.WaterFont: writeFont (); перерыв;
case Dealtype.WaterImage: writeImg (); перерыв;
case Dealtype.doubledo: writefontandimg (); перерыв;
}
}
private void isdouble ()
{
if (imagewater+""! = "" && fontstring+""! = "")
{
deletype = deletype.doubledo;
}
}
private void writefont ()
{
// Установить рабочий каталог
// string WorkingDirectory = @"c:/watermark_src/wartpic";
// Определите строку текста для использования в качестве сообщения об авторском праве
// String Copyright = "Copyright? 2002 - AP Photo/David Zalubowski";
// Создать объект изображения, содержащий фотографию в водяном знаке.
Image imgphoto = image.fromfile (WorkingDirectory + ImageName);
int phwidth = imgphoto.width;
int phheight = imgphoto.height;
// Создать растровое изображение размером с оригинальную фотографию
Bitmap bmphoto = new Bitmap (Phwidth, Phheight, Pixelformat.format24bpprgb);
bmphoto.setresolution (imgphoto.horizontalresolution, imgphoto.verticalresolution);
// Загрузите растровое изображение в графический объект
Graphics grphoto = graphics.fromimage (bmphoto);
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Шаг № 1 - вставьте сообщение об авторском праве
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Установить качество рендеринга для этого объекта графики
grphoto.smoothingmode = SmokeingMode.antialias;
// рисует объект фото изображения в исходном размере к графическому объекту.
grphoto.drawimage (
Imgphoto, // объект фотоизображения
Новый прямоугольник (0, 0, Phwidth, Phheight), // прямоугольная структура
0, // x-координата части исходного изображения для рисования.
0, // y-координат части исходного изображения для рисования.
Phweidth, // Ширина части исходного изображения для рисования.
Phheight, // высота части исходного изображения для рисования.
GraphicsUnit.pixel); // единицы измерения
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Чтобы максимизировать размер сообщения об авторском праве, мы будем
// проверить несколько размеров шрифтов, чтобы определить максимально возможный
// font мы можем использовать для ширины фотографии
// Определите массив размеров точек, которые вы хотели бы рассмотреть как можно более
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
int [] размеры = new int [] {16,14,12,10,8,6,4};
Font crfont = null;
Sizef crsize = new sizef ();
// пройти через определенные размеры, проверяющие длину строки авторских прав.
// Если его длина в пикселях меньше, то ширина изображения выберите этот размер шрифта.
для (int i = 0; i <7; i ++)
{
// установить объект шрифта в Arial (i) Pt, жирный жирный
// crfont = new Font ("Arial", размеры [i], fontstyle.bold);
crfont = new Font ("Arial", размеры [i], fontstyle.bold);
// Измерение строки авторских прав в этом шрифте
crsize = grphoto.measuresting (fontstring, crfont);
if ((ushort) crsize.width <(ushort) Phweidth)
перерыв;
}
// Поскольку все фотографии будут иметь разные высоты, определите
// положение 5% от нижней части изображения
int ypixlesfrombottom = (int) (phheight *.05);
// теперь, когда у нас есть размер точки, используйте высоту строки авторских прав.
// определить Y-координату, чтобы нарисовать строку фотографии
float yposfrombottom = ((phheight - ypixlesfrombottom) - (crsize.height/2));
// Определите его x-координату, вычисляя центр ширины изображения
float xcenterofimg = (Phwidth/2);
// Определите макет текста, установив выравнивание текста в центре
StringFormat strFormat = new StringFormat ();
Strformat.alinment = stringalignment.center;
// Определите кисть, которая является полупрозрачной черной (альфа устанавливается 153)
Solidbrush Semitransbrush2 = новый солидный раз (Color.fromargb (153, 0, 0, 0));
// Нарисуйте строку авторского права
grphoto.drawstring (fontstring, // строка текста
Crfont, // шрифт
Semitransbrush2, // щетка
Новая точка (xcenterofimg+1, yposfrombottom+1), // положение
Strformat);
// Определите кисть, которая является полупрозрачной белой (альфа -установлена 153)
Solidbrush Semitransbrush = новый солидный раз (Color.fromargb (153, 255, 255, 255));
// Нарисуйте строку авторских прав во второй раз, чтобы создать эффект тени
// обязательно переместите этот текст 1 пиксель вправо и вниз 1 пиксель
grphoto.drawstring (fontstring, // строка текста
Crfont, // шрифт
Semitransbrush, // щетка
New Pointf (xcenterofimg, yposfrombottom), // положение
Strformat);
imgphoto = bmphoto;
grphoto.dispose ();
// Сохранить новое изображение в файловую систему.
imgphoto.save (workingdirectory + imageName + "_finally.jpg", imageformat.jpeg);
imgphoto.dispose ();
// выравнивание текста
}
Поделиться: ASP китайское искаженное задание решения Независимо от того, какая языковая искажаемая проблема существует, ASP не является исключением. В этой статье будет представлен метод решения искаженного кода в ASP. Друзья, которые это нужно, могут ссылаться на это.