aspjpeg는 매우 강력한 이미지 처리 구성 요소인 순수 영어 버전입니다. 하지만 이미 무료 버전과 크랙 버전도 있지만, 이를 상세하고 심도 깊게 소개하는 글은 많지 않다. 있다고 해도 이미지 썸네일과 이미지 워터마크만 포함되어 있을 뿐이다. 아마도 순수 영어로 되어 있기 때문일 것이다.
여기서는 이러한 문제를 기반으로 aspjpeg의 고급 사용법에 대해 이야기하겠습니다. 여기에 포함된 기술은 주로 다음과 같습니다.
이미지 썸네일, 이미지 워터마크, 보안 코드 기술, 이미지 자르기, 이미지 병합, 데이터베이스 지원, 보다 흔하지 않은 방법 도입 및 일부 관련 실무 기술
aspjpeg의 유일한 단점은 출력 방법이 상대적으로 간단하다는 것입니다. 여기서는 이미지 처리를 저장한 후 호출하는 출력 방식에 대해 주로 이야기하겠습니다. 게다가 제가 게을러서 일부 코드는 아직 원본 문서에서 인용하고 있고, 이해가 안 되는 부분은 가끔 설명하겠습니다!
VB나 .net을 공부해본 동지라면 한 눈에 확실히 이해가 될 것입니다. 브러쉬가 오고 있어요. 헤헤.
1. 사진 썸네일
<%
Set Jpeg = Server.CreateObject("Persits.Jpeg")는 구성 요소를 호출합니다.
Path = Server.MapPath("images") & "clock.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. 사진 워터마크
<%
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 = 굵게 표시 여부 False
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)
whatnext=0이면
상한 = 122
하한=97
또 다른
상한 = 57
하한=48
종료하면
strnewpass=strnewpass & chr(int((upper-lower+1)*rnd)+lower)
다음
make_randomize=strnewpass
함수 종료
%>
보안 코드의 그림을 생성합니다. 물론
4자리 보안코드를 생성하려면 배경이미지를 미리 준비해야 합니다 <%random_num=make_randomize(4,1)
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 = "아리알 블랙"
Jpeg.Canvas.Font.Bold = 거짓
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" border="0" align="absmiddle">
직접 해보세요. 헤헤.
4. 사진 자르기
오랫동안 aspjpeg에 대해 모르는 사람들은 그것을 자르는 데 사용할 수 없다고 생각했습니다.
사실 그런 방법도 있더라구요
자르기 x1,y1,x2,y2
직사각형의 왼쪽 상단 모서리의 x 좌표와 직사각형의 오른쪽 하단 모서리의 y 좌표를 자릅니다. 아래에서 설명하겠습니다.
Jpeg = Server.CreateObject("Persits.Jpeg") 설정
jpeg.open 서버.MapPath("/pic/1.gif")
JPEG.폭=70
Jpeg.Height = Jpeg.OriginalHeight*70 / jpeg.Origina폭
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("이미지") & "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.ShadowXOffset을 길게
그림자 X 좌표 설정
Canvas.Font.ShadowYOffset을 길게
Y 좌표 설정
Canvas.Font.BkMode를 문자열로
텍스트 배경
이 글의 저자: Yulang 이 글은 재인쇄되었으며, 저작권은 원저자에게 있습니다.