Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Печать из флеш-ролика (вопрос) (http://www.flasher.ru/forum/showthread.php?t=93490)

samolet 22.03.2007 11:08

Печать из флеш-ролика (вопрос)
 
поискал - не нашел - сам пробовал - так и не получилось - подскажите направление мыслей

сделан ролик, аля фотоальбом/каталог с меню (по разделам), весь растр подгружается из xml-файлов; встала задача в распечатывании содержимого (т.е. пользователь листает/смотрит изображения и в какой-то момент начинает испытывать страстное желание распечатать определенную картинку, нажав на кнопку печать в ролике)

отсюда на данный момент имеем - если на кнопке прописано:
Код:

on (release) {
        printNum(0, "bmax");
}

то выводит на печать все окно без динамического содержимого (будь то картинки или текст)

если прописано
Код:

on (release) {
        print(this, "bmovie");
}

печатает все окно плеера с подгруженной картинкой, но без динамического текста

(на накладывание области печати с меткой - вообще не реагирует)

Резюмирую: есть ли возможность либо распечатывания заданной области в ролике с его динамическим содержимым? или по нажатию на кнопку отправлять на печать один jpg (по такому-то относительному адресу), который в данный момент подгружен?

CorC 23.03.2007 10:19

http://livedocs.adobe.com/flash/8/main/00002608.html
особо посмотреть addPage ибо оно
Цитата:

Sends the specified level or movie clip as a single page to the print spooler.
З.Ы.: апать нехорошо :)

etc 23.03.2007 14:26

Даже у самолета нет прав на апы.

samolet 27.03.2007 13:49

в продолжение темы (спасибо CorC)

прописав следующий код
Код:

my_btn.onRelease = function()
{
    var pageCount:Number = 0;
    var my_pj:PrintJob = new PrintJob();
    if (my_pj.start())
    {
                my_pj.orientation = "landscape";
        if (my_pj.addPage(0, {xMin:222,xMax:1014,yMin:60,yMax:632}))
                {
        pageCount++;
                }
    }       
       
        if (pageCount>0) {
    my_pj.send();
    }
    delete my_pj;
}

печать по кнопке работает за одним исключением - автоматически не переворачивает в альбомный лист (что как раз и требуется)
так что - где я напортачил?

ЗЫ вставив из хелпа в тестовый мувик пример со сменой вывода портрет/альбомный тип - работает не так как требуется

в догонку - встал вопрос о КАЧЕСТВЕ печати
вывод на экране тот что надо - но на печать "вылезает" типичный испохабленный джепег ((
посоветуете что?

vikvik 30.06.2007 19:47

Пробовал последний код для печати содержимого ScrollBox-а. Зараза печатает только то, что видит. Я подгружаю swf в скролБокс и хочу ее расспечатать. Если перетащить ползунок, то и напечатает видимую область на листе бумаги тоже проскроленную, т.е. изображение будет примерно в конце или в середине листа. Как напечатать всю swf-ку?

chingachgoog 02.07.2007 11:38

Цитата:

Сообщение от vikvik
Как напечатать всю swf-ку?

Я бы печатал МУВИКЛИП который скроллируется (под маской).
Типа ....addPage("мой_клип"....). Или снимал бы маску на время печати.
Т.е. ДО команды ....send();
Т.ж. ДО нее можно проверить (только проверить!) ориентацию и размер печатной области. В соответствии с размером подогнать клип под нужный размер или ориентацию.
ПОСЛЕ команды ....send(); вернуть все на место - пользователь ничего не заметит.

vikvik 06.07.2007 15:13

А как можно снять маску?
...addPage(scroll_panel.content) было, т.е. печатаю содержимое скроллПанели.
Извратился следующим образом: создал мувиклип за пределами видимости и в него грузил туже нужную swf-ку, и печатал уже этот мувиклип.

chingachgoog 06.07.2007 15:46

Цитата:

Сообщение от vikvik
А как можно снять маску?

Либо программно, либо ручками, снять маску на особом кадре и в этот кадр переходить до печати.

Цитата:

Сообщение от vikvik
...addPage(scroll_panel.content) было, т.е. печатаю содержимое скроллПанели.

Там строковый параметр можно указывать, путь не удастся, насколько я понимаю (кроме this) или уровни.

Цитата:

Сообщение от vikvik
Извратился следующим образом: создал мувиклип за пределами видимости и в него грузил туже нужную swf-ку, и печатал уже этот мувиклип.

Это не изврат, а вполне мудрое решение.


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

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