우선, 우리는 페이지의 그림이 다음 코드라는 것을 알고 있습니다.
<img src = pic.gif 테두리 = 0 너비 = 300 높이 = 260>
SRC는 그림 경로이며, 테두리는 그림의 너비를 제어하고 너비는 그림의 길이이며 높이는 그림의 높이입니다. 좁은 다이어그램의 생성은 실제로 원래 크기로 확대됩니다. 그러나 가능한 한 왜곡되기 위해서는 비례 적으로 축소 될 것입니다. 결과적으로, 그림의 길이와 너비 크기도 편향 다이어그램의 초점이되었습니다.
다음은 축소판을 생성하기위한 구성 요소가없는 쓰기 단계입니다.
1. 구성 요소없이 사진 크기를 가져옵니다
ASP를 배우기 전에 ASCII 코드를 사용하여 구성 요소없이 사진 크기를 얻는 기사를 보았습니다. 나중에 나는 그것을 시도했고, JPG 클래스의 크기를 얻을 때, 온라인으로 확인한 후에는 항상이 프로그램을 재현 한 것은 아니지만 아무도이 프로그램의 결함을 지적하지 않았다. 해결책. 결함 방법. 나중에 Google은 ADODB.Stream을 사용하여 사진 크기의 크기를 소개 한 기사를 찾았습니다
adodb.stream을 사용하여 일반적인 사진 크기를 얻으십시오.
| 다음은 코드 조각입니다. <% '///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////4 //////////////////////////////////////////////////////////////////////////////////4 //////////////////////////////////////////////////////////////////////////////////4 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Gons '/////////// adodb.stream을 사용하여 사진 크기를 얻으십시오 ///////////// '/////// Leon (Xinqing)에 의해 인용 (2005 년 8 월 11 일 ////////// 클래스 GPS 희미한 ASO private sub class_initialize set aso = createobject (adodb.stream) aso.mode = 3 aso.type = 1 ASO. OPEN 종료 서브 개인 sub class_terminate ASO = 아무것도 설정하지 않습니다 종료 서브 개인 기능 Bin2str (빈) Dim I, Str i = 1에서 lenb (bin)의 경우 clow = midb (bin, i, 1) ASCB (Clow) <128 인 경우 str = str & chr (ASCB (clow)) 또 다른 i = i 1 i <= lenb (bin)이면 str = str & chr (ascw (midb (bin, i, 1) & clow)) 끝 If 다음 bin2str = str 엔드 기능 개인 기능 Num2str (Num, Base, Lens) 'GPS (2005-8-11) 딤토 ret = while (num> = base) ret = (num mod base) & ret num = (num -num mod base)/base 향하게 하다 num2str = right (문자열 (렌즈, 0) 및 Num & ret, 렌즈) 엔드 기능 개인 기능 str2num (str, base) 'GPS (2005-8-11) 딤토 ret = 0 i = 1 to len (str)의 경우 ret = ret *base cint (Mid (str, i, 1)) 다음 str2num = ret 엔드 기능 개인 기능 binval (bin) 'GPS (2002-8-11) 딤토 ret = 0 i = lenb (빈)에서 1 단계 -1 ret = ret *256 ASCB (Midb (bin, i, 1)) 다음 binval = ret 엔드 기능 개인 기능 binval2 (bin) 'GPS (2002-8-11) 딤토 ret = 0 i = 1에서 lenb (bin)의 경우 ret = ret *256 ASCB (Midb (bin, i, 1)) 다음 binval2 = ret 엔드 기능 '/// 다음은 통화 코드입니다 /// 함수 getImagesize (filespec) 'GPS (2002-8-11) Dim Ret (3) aso.loadfromfile (filespec) bflag = aso.read (3) Case Hex (Binval (bflag)) 선택 사례 4E5089 : aso.read (15) ret (0) = png ret (1) = binval2 (aso.read (2)) aso.read (2) ret (2) = binval2 (aso.read (2)) 사례 464947 : aso.read (3) ret (0) = gif ret (1) = binval (aso.read (2)) ret (2) = binval (aso.read (2)) 사례 535746 : aso.read (5) bindata = aso.read (1) sconv = num2str (ASCB (bindata), 2, 8) nbits = str2num (왼쪽 (sconv, 5), 2) sconv = mid (sconv, 6) while (len (sconv) <nbits*4) bindata = aso.read (1) sconv = sconv & num2str (ASCB (bindata), 2, 8) 향하게 하다 ret (0) = swf ret (1) = int (abs (str2num (sconv, 1*nbits 1, nbits), 2) -Str2num (mid (sconv, 0*nbits 1, nbits), 2)/20) ret (2) = int (abs (str2num (sconv, 3*nbits 1, nbits), 2) -Str2num (mid (sconv, 2*nbits 1, nbits), 2)/20) 사례 ffd8ff : ~하다 do : p1 = binval (aso.Read (1)) : 루프 whine whine whine whine p1 = 255가 아니고 aso.eos P1> 191 및 P1 <196 인 경우 출구는 else.Read (binVal2 (aso.Read (2)) -2) do : p1 = binval (aso.read (1)) : 루프 whine whine whine p1 <255가 아니고 aso.eos 사실이지만 루프 aso.read (3) ret (0) = jpg ret (2) = binval2 (aso.read (2)) ret (1) = binval2 (aso.read (2)) 다른 경우 : 왼쪽 (bin2str (bflag), 2) = bm이면 aso.read (15) ret (0) = bmp ret (1) = binval (aso.read (4)) ret (2) = binval (aso.read (4)) 또 다른 ret (0) = 끝 If 종료 선택 ret (3) = 너비 = & ret (1) & height = & ret (2) & getImagesize = ret 엔드 기능 수업 종료 %> |
위의 코드를 복사하여 GPS.ASP 파일을 생성하여 구성 요소가없는 사진 크기의 일반 클래스가 괜찮습니다.
2. 이제 탭 맵 및 관련 정보를 표시하기 위해 먼저 showimg.asp 페이지를 설계합니다. 특정 디자인은 다음과 같습니다.
그림:
이미지 형식 :