Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   подгонка изображения под размеры окна с сохранением пропорций. (http://www.flasher.ru/forum/showthread.php?t=214522)

Visors 08.09.2017 12:58

подгонка изображения под размеры окна с сохранением пропорций.
 
Вложений: 1
Добрый день.
Помогите решить проблему.

Файл флэша загружает фотографию по названию из той папки, в которой он сам располагается.
Но он очень странно ее отображает - не растягивает по размерам окна с сохранением пропорций, а выводит части рисунка - за границы окна.

Подскажите - как заставить флэш - подгонять отображение фотографии - под размеры окна, с сохранением пропорций ?
(может быть нужно какую-то опцию включить?)

ZackMercury 08.09.2017 14:55

Нужно написать код, который будет масштабировать картинку под размеры окна.

Visors 08.09.2017 16:43

ZackMercury, сейчас код выглядит так:
Код AS3:

import flash.net.URLRequest;
import flash.display.Loader;
 
var loader:Loader = new Loader();
loader.load(new URLRequest("file.png"));
addChild(loader);

Что именно в него надо добавить, чтобы картинка масштабировалась под размеры окна ?

undefined 08.09.2017 16:56

Делать ПОСЛЕ загрузки
Код AS3:

var scale:Number=Math.min(windowWidth/loader.width),windowHeight/loader.height);
loader.scaleX=loader.scaleY=scale;


ZackMercury 08.09.2017 17:41

Я почему-то уверен, что ТС добавит этот код после loader.load :)

Visors 08.09.2017 17:54

undefined, что-то не работает.
Код выглядит так:
Код AS3:

import flash.net.URLRequest;
import flash.display.Loader;
 
var loader:Loader = new Loader();
loader.load(new URLRequest("file.png"));
var scale:Number=Math.min(windowWidth/loader.width),windowHeight/loader.height);
loader.scaleX=loader.scaleY=scale;
addChild(loader);

также пробовал другое расположение строчки кода:
Код AS3:

import flash.net.URLRequest;
import flash.display.Loader;
 
var loader:Loader = new Loader();
loader.load(new URLRequest("file.png"));
addChild(loader);
 
var scale:Number=Math.min(windowWidth/loader.width),windowHeight/loader.height);
loader.scaleX=loader.scaleY=scale;

Код AS3:

import flash.net.URLRequest;
import flash.display.Loader;
 
var loader:Loader = new Loader();
var scale:Number=Math.min(windowWidth/loader.width),windowHeight/loader.height);
 
loader.load(new URLRequest("file.png"));
 
addChild(loader);
loader.scaleX=loader.scaleY=scale;

Почему-то не работает ни в том, ни в другом случае, ни в третьем случае.

undefined 08.09.2017 18:04

Цитата:

Сообщение от ZackMercury (Сообщение 1201822)
Я почему-то уверен, что ТС добавит этот код после loader.load :)

Как в воду глядел

Добавлено через 16 минут
Visors, ты замечал что в интернете все грузится не моментально?

Visors 08.09.2017 18:45

Вложений: 1
undefined, насчет того, что в интернете все грузится не моментально - не совсем понял что вы имеете ввиду.
Да в интернете грузится не моментально - но все же грузится.
Здесь ничего не грузится, картинка не загружается и через минуту.

При нажатии Ctrl+Enter во всех трех вариантах выдается ошибка "1086: Синтаксическая ошибка: ожидается точка с запятой перед div."

undefined 08.09.2017 18:55

Visors,я специально написал что выставлять размеры картинке надо ПОСЛЕ ОКОНЧАНИЯ ЕЕ ЗАГРУЗКИ.
Код AS3:

 
var loader:Loader=new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
addChild(loader);
loader.load(new URLRequest("1.jpg"));
//тут загрузка только началась!
function onComplete(e:Event):void {
        e.target.removeEventListener(Event.COMPLETE, onComplete);
        //загрузка окончена!
}

Код AS3:

"1086: Синтаксическая ошибка: ожидается точка с запятой перед div."

Что за div?Очевидно ошибка в твоем коде.Покупать flash ide ради этого я не буду.

Visors 08.09.2017 19:11

Вложений: 1
undefined, вел только этот этот код (больше ничего) в пустой файл fla и добавил код масштабирования рисунка (после загрузки).
Код AS3:

var loader:Loader=new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
addChild(loader);
loader.load(new URLRequest("1.jpg"));
//тут загрузка только началась!
function onComplete(e:Event):void {
        e.target.removeEventListener(Event.COMPLETE, onComplete);
        //загрузка окончена!
}
var scale:Number=Math.min(windowWidth/loader.width),windowHeight/loader.height);
loader.scaleX=loader.scaleY=scale;

Не работает - картинку не загружает (ни моментально, ни через минуту)


Часовой пояс GMT +4, время: 06:25.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.