ASPJPEG 를 기반 으로 오랫동안 꿈 꾸 던 대량 워 터 마크 도 구 를 만 들 었 습 니 다.
<%
Dim Jpeg ””//
Set Jpeg = Server.CreateObject(“Persits.Jpeg”) ””//
Jpeg.Open Server.MapPath(“aaa.JPG”) ””//
Jpeg.Canvas.Font.Color = &H000000 ””//
Jpeg.Canvas.Font.Family = “ ” ””//
Jpeg.Canvas.Font.Size = 14 ””//
Jpeg.Canvas.Font.Bold = False ””// , :True
Jpeg.Canvas.Font.BkMode = &HFFFFFF ””//
Jpeg.Canvas.Print 10, 10, “ ” ””// , 10 xy
Jpeg.Save Server.MapPath(“aaa_05.jpg”) ””//
Set Jpeg = Nothing ””// ,
Response.Write “<img src=aaa_05.jpg>” ””//
%>
2 를 추가 하고 미리 보기 그림
<%
Dim Jpeg ””//
Set 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”) ””//
Set Jpeg = Nothing ””// ,
Response.Write “<img src=aaa_small.jpg>” ””//
%>
[code]
aspjpeg
aspjpeg , 。 , , 。 。
aspjpeg 。 :
aspjpeg 。 , 。 , , , !
vb .net 。 。 。
、
[code]
<%
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”
%>
[code]
<IMG SRC=”images/clock_small.jpg”>
、
[code]
<%
Set Jpeg = Server.CreateObject(“Persits.Jpeg”)
Jpeg.Open Server.MapPath(“images/dodge_viper.jpg”)
Jpeg.Canvas.Font.Color = &H000000”” white
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”” black
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 을 생 성 합 니 다.안전 코드 안전 마 의 이치 와 워 터 마크 를 추가 하 는 차이 가 많 지 않 습 니 다.많은 친구 들 이 저 에 게 구체 적 인 코드 기술 을 원 하 냐 고 물 었 습 니 다.여기 서 저 는 적어 서 여러분 과 공유 하 겠 습 니 다.일반인 들 은 아직 알려 주지 않 았 습 니 다.하하.
<%
function make_randomize(max_len,w_n) max_len ,w_n:0 ,1:
randomize
for intcounter=1 to max_len
whatnext=int((1-0+1)*rnd+w_n)
if whatnext=0 then
upper=122
lower=97
else
upper=57
lower=48
end if
strnewpass=strnewpass & chr(int((upper-lower+1)*rnd)+lower)
next
make_randomize=strnewpass
end function
%>
안전 코드 를 만 드 는 그림 입 니 다.물론 배경 그림 을 미리 준비 해 두 셔 야 합 니 다.하하.4.사진 절단 은 지금까지 aspjpeg 에 대해 모 르 는 사람들 은 이 를 이용 하여 절단 할 수 없다 고 생각 했다.사실 이런 방법 이 있 습 니 다.crop x1,y1,x2,y2 는 직사각형 왼쪽 상단 x 좌 표를 자 르 고 y 좌표 오른쪽 아래 x 좌표 y 좌표 아래 에 제 가 시범 을 보 여 드 리 겠 습 니 다.Set Jpeg=Server.Create Object(Persits.Jpeg)jpeg.open server.MapPath("/pic/1.gif")jpeg.width=70 Jpeg.Height=jpeg.Original Height*70/jpeg.Originawidth jpeg.crop 0,0,70,70,52 절단 을 시작 하 는 것 은 52 픽 셀 이 넘 는 아 랫 부분 을 jpeg.save server.MapPath("/temp"pic/small_1.gif")저장 은 어 떻 습 니까?간단 하 죠?viper.jpg 사진 에 서 는 사실 그림 을 합 치 는 방법 도 동적 으로 워 터 마크 를 칠 수 있 습 니 다.
<%random_num=make_randomize(4,1) 4
session(“random_num”)=random_num session, session 。
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 = 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” border=”0″ align=”absmiddle”>
Photo.Sendbinary 는 sendbinary 의 출력 방법 을 사 용 했 습 니 다.물론 변 경 된 dodge 를 저장 할 수도 있 습 니 다.viper.jpg,다시 입력 해도 됩 니 다.저 는 개인 적 으로 sendbinary 방법 을 별로 좋아 하지 않 습 니 다.인터넷 속도 가 느 릴 때 실수 하기 쉽 습 니 다.속도 면 에서 도 별로 야.하하.6.데이터베이스 지원 은 여기 서 더 이상 말 하지 않 겠 습 니 다.사실은 Binary 방법 입 니 다.이미지 가 데이터베이스 에 저장 되면 바 이 너 리 파일 로 만 저장 할 수 있다 는 것 을 잘 알 고 있 습 니 다.그래서 코드 를 게 으 르 게 썼어 요.일곱더 많은 방법 은
Set Photo = Server.CreateObject(“Persits.Jpeg”)
PhotoPath = Server.MapPath(“images”) & “\dodge_viper.jpg”
Photo.Open PhotoPath
Set Logo = 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
==========================================프롬프트 에'regsvr 32[Dll 경로]'를 입력 하면 됩 니 다.그림 에 워 터 마크 를 추가 하면 그림 크기 를 얻 을 수 있 습 니 다.그리고 워 터 마크 를 적 으 세 요...............................................................................l 구성 요소 의 또 다른 두 가지 주요 용법 은 그림 을 자 르 고 그림 의 미리 보기 그림 을 만 드 는 것 입 니까?아니면 제 습관 으로 코드 로 설명 을 추가 하 는 것 입 니까?그림 을 자 르 는 것:
Canvas.Line(Left, Top, Right, Bottom)
Canvas.Ellipse(Left, Top, Right, Bottom)
Canvas.Circle(X, Y, Radius)
Canvas.Bar(Left, Top, Right, Bottom)
,
Canvas.Font.ShadowColor
Canvas.Font.ShadowXOffset As Long
X
Canvas.Font.ShadowYOffset As Long
Y
Canvas.Font.BkMode As String
상세 한 설명:그림 을 자 르 는 데 WsImage 의 CropImage 방법 을 사 용 했 습 니 다.그 중에서 그림 을 만 들 때 100,10 은 왼쪽 상단 의 감축 점 입 니 다.즉,그림 왼쪽 에서 100 픽 셀 입 니 다.상단 10 픽 셀.후 두 200 은 감 소 된 광대 역 과 높이 를 대표 합 니 다.그림 미리 보기 그림 생 성:
<%
set obj=server.CreateObject(“wsImage.Resize”) ””””
obj.LoadSoucePic server.mappath(“25.jpg”) ”””” , 25.jpg
obj.GetSourceInfo iWidth,iHeight
response.write “ :” & iWidth & “<br>” ””””
response.write “ :” & iHeight & “<br>” ””””
strError=obj.errorinfo
if strError<>”" then
response.write obj.errorinfo
end if
obj.free
set obj=nothing
%>
상세 설명:미리 보기 그림 생 성 은 모두 네 가지 내 보 내기 방식 이 있 습 니 다.(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 는 생 성 을 나타 내 는 미리 보기 그림 이 원 그림 의 절반,즉 높 은 축소 비율 을 나타 낸다.너비 와 높이 의 축소 비율 이 일치 하 는 것 은 원 도 를 비례 적 으로 축소 하 는 것 을 의미한다.너비 와 높이 의 크기 조정 비율 이 1 보다 크 면 원 도 를 확대 합 니 다.어제 저녁 에 12 시 반 까지 아침 에 일어나 서 계속 최적화 시 켰 습 니 다.이 ASP 대량 워 터 마크 도 구 를 썼 습 니 다.이런 워 터 마크 효 과 는 제 가 꿈 꾸 던 것 입 니 다.매우 시원 합 니 다!워 터 마크 효 과 는 다음 과 같다.