هناك العديد من مكونات ASP التي تولد الصور المصغرة على الإنترنت. إذا لم تدعم المساحة الافتراضية تسجيل مكونات جديدة ، فقد تشعر أن موقع الويب الخاص بك يفقد لونه. Xinqing ليست موهوبة ، ومدمجة مع الموارد عبر الإنترنت ، وكتبت برنامج Thumbnail الخالي من المكونات للرجوع إليه فقط.
دعونا نلقي نظرة على الأساسيات أولاً. بادئ ذي بدء ، نعلم أن الكود التالي يتم عرضه على الصفحة:
<imgsrc = "pic.gif" border = "0" width = "300" height = "260">
SRC هو مسار الصورة ، ويتحكم الحدود في عرض الحافة للصورة ، والعرض هو طول الصورة ، والارتفاع هو ارتفاع الصورة. إن توليد الصور المصغرة في الواقع يتوسع في الحجم الأصلي. ولكن بشكل عام ، من أجل تقليل التشويه ، سنقوم بتوسيع نطاق. لذلك ، يصبح الحصول على طول وعرض الصورة محور توليد الصور المصغرة.
فيما يلي خطوات كتابة صورة مصغرة خالية من المكونات:
1. احصل على حجم الصورة بدون مكونات
لقد رأيت مقالًا باستخدام رمز ASCII للحصول على أحجام الصور بدون مكونات عندما تعلمت لأول مرة ASP. في وقت لاحق ، جربتها ووجدت أنه عندما حصلت على حجم صور تشبه JPG ، راجعت ذلك عبر الإنترنت ووجدت أن العديد من مواقع الويب أعيد طبع هذا البرنامج ، لكن لم يشير أي منها إلى عيوب هذا البرنامج ، ناهيك عن حل العيوب. في وقت لاحق ذهبت إلى Googlet وأخيراً وجدت مقالًا يقدم استخدام Adodb.stream للحصول على أحجام الصور. جربته عن طريق تعديل الكود في الداخل وفقًا للطريقة التي تم تقديمها. التأثير جيد حقًا. الآن سأخرجها وأشاركها معك:
استخدم adodb.stream للحصول على فئة مشتركة <٪ من حجم الصورة
'//////////////////gps: getPicturesize /////////////
'/////////////////////////////////////
'//////////////////2
ClassGPs
ديماسو
privatesubclass_initialize
setaso = createObject ("adodb.stream")
aso.mode = 3
aso.type = 1
ASO.Open
ينتهي
privatesubclass_terminate
setaso = لا شيء
ينتهي
PrivateFunctionBin2str (BIN)
ديمي ، شارع
fori = 1tolenb (صندوق)
clow = midb (bin ، i ، 1)
Ifascb (clow) <128then
str = str & chr (ASCB (clow))
آخر
i = i+1
ifi <= lenb (bin) thenstr = str & chr (ascw (midb (bin ، i ، 1) & clow))
Endif
التالي
bin2str = str
الوظيفية
PrivateFunctionNum2str (num ، قاعدة ، عدسة)
'GPS (2005-8-11)
ديميريت
ret = ""
بينما (num> = قاعدة)
ret = (numModBase) & ret
num = (num-nummodbase)/base
ويند
num2str = right (سلسلة (عدسة ، "0") و num & ret ، عدسة)
الوظيفية
PrivateFunctionStr2Num (Str ، Base)
'GPS (2005-8-11)
ديميريت
RET = 0
fori = 1tolen (Str)
ret = ret*base+cint (mid (str ، i ، 1))
التالي
str2num = ret
الوظيفية