حجم الصورة في فلاش لمطابقة الحجم المحدد في HTML

StackOverflow https://stackoverflow.com/questions/388123

  •  23-08-2019
  •  | 
  •  

سؤال

لدي فيلم فلاش يقوم بتحميل الصور بشكل حيوي من ملف XML. أريد إعادة استخدام ملف .SWF هذا على صفحات مختلفة، ومع ذلك، فإن الصور الموجودة في Page1 كلها 400 × 200 والصور في Page2 هي جميعها 745 × 422. عندما أحاول إعادة استخدام هذا على صفحة أخرى، يتم تقلص الصور المحملة (معلومة) - أود منهم مطابقة ما يحددون في العرض / الارتفاع، لكنهم يحصلون على تحجيم اعتمادا على كيفية تحجيم المرحلة.

أنا باستخدام محمل (AS3) للصورة التي تضعها على حاوية (Sprite)

slideLoader.load(new URLRequest(xmlSlideshow..image[intCurrentSlide].@src));

لقد حاولت جعل المرحلة أحجام مختلفة للبدء، لكنني أود حقا أن تكون غير مرغقة إذا كان ذلك ممكنا - أي: 50 × 50. ثم في HTML، سيتم تعيين العرض / الارتفاع على عرض / ارتفاع الصور التي يتم تحميلها.

أنا لست معالج فلاش لذا أرجوك سامحني إذا لم أكن واضحا، سأحاول تقديم المزيد من البصيرة إذا لزم الأمر.

هل كانت مفيدة؟

المحلول

زوجين من الأشياء ... أولا، ستحتاج إلى تحديد تطبيقك وليس لتوسيع نطاق. (كود AS3)

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;

ثم بمجرد تحميل صورتك (إضافة مستمع إلى كائن Slideder)، قم بتنفيذ وظيفة JavaScript باستخدام فئة فلاش الخارجية.

ExternalInterface.call('resizeFlashMovie', slideLoader.width, slideLoader.height);

وستكون وظيفة JavaScript الخاصة بك شيء مثل هذا:

function resizeFlashMovie(width, height) {
    var flash = document.getElementById('yourFlashMovieId');
    flash.style.width = width+'px';
    flash.style.height = height+'px';
}

نصائح أخرى

أعتذر ليس لدي رمز في متناول اليد، لكنني أعلم أن لديك خيار تعيين أي تغيير الحجم في قماش عند بدء التشغيل.

من الناحية المثالية، يمكنك تمرير الطول / العرض عبر سمات العلامة المتضمنة، لا يوجد لديه تغيير الحجم على قماش واستخدام الأبعاد المرة لتعيين أبعاد الصور الخاصة بك.

أعتقد أن هذا هو:

fscommand("allowscale","false");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top