Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.06.2009, 09:46
maxen вне форума Посмотреть профиль Отправить личное сообщение для maxen Найти все сообщения от maxen
  № 1  
Ответить с цитированием
maxen

Регистрация: Jan 2009
Сообщений: 19
По умолчанию Печать фрэйма (маштабируемость кадра)

Задача: сделать кнопку, которая бы печатала весь кадр (наверное правильно сказать фрэйм). Она будет стоять не на всех кадрах, а выборочно.
Я сделал кнопку, при нажатии которой идет печать этого кадра.

Код AS1/AS2:
function _print()
{
    var __reg1 = new PrintJob();
    if (__reg1.start()) 
    {
        if (__reg1.addPage(0)) 
        {
            __reg1.send();
        }
    }
    false;
}
 
printBut.onRelease = _print;
Проблема только в том, что изображение печатается не правильно - как бы горизонтальное изображение на вертикальном листе. Т.е изображение обрезается.
Можно ли как-то выравнить это изображение - сделать его маштабируемым чтоли т.е. лист вертикальный, рисунок горизонтальный, но только уменьшенный (от края листа, до края).

У меня так получилось - мне нужно было распечатать не весь кадр, а только табличку. Я ее сделал мовиклипом (my_mc) и при нажатии кнопки (my_btn) сробатывало такое собитие:
Код AS1/AS2:
my_btn.onPress = function() {
print (my_mc, "bmovie");
};
А как тут этого добится не понимаю.
Может кто посмотрит код?
Вложения
Тип файла: rar print.rar (180.8 Кб, 37 просмотров)

Старый 11.06.2009, 13:54
KiL33 вне форума Посмотреть профиль Отправить личное сообщение для KiL33 Найти все сообщения от KiL33
  № 2  
Ответить с цитированием
KiL33
 
Аватар для KiL33

Регистрация: Jul 2007
Адрес: Гражданин Российской Федерации
Сообщений: 1,122
Отправить сообщение для KiL33 с помощью ICQ
Для того чтобы не вылизало за края нужно изображение подгонять под формат листа.
Примерно так
Код AS1/AS2:
function content_f(pageW:Number, pageH:Number, contentObj:Object){
		//процентное выражение размеров области печати от размеров клипа 
		var clipW = pageW / contentObj._width * 100;
		var clipH = pageH / contentObj._height * 100;
		if ((clipW < 100 && clipH < 100) || (clipW > 100 && clipH > 100)) {
			if (Math.min(clipW, clipH) == clipW) {
				contentObj._xscale = contentObj._yscale = clipW;
			}
			else {
				contentObj._xscale = contentObj._yscale = clipH;
			}
		}
		else if (clipW >= 100 && clipH <= 100) {
			contentObj._xscale = contentObj._yscale = clipH;
		}
		else if (clipW < 100 && clipH > 100) {
			contentObj._xscale = contentObj._yscale = clipW;
		}
}
И вызывать функцию
Код:
...
 if (__reg1.start()) 
    {
сontent_f(__reg1.pageWidth, __reg1.pageHeight, obj);
...
P.s. я сам не проверял..мне листов жалко.
P.P.s. зачем эти двойные подчеркивания? они только мешают..я бы ничего не понял, если хотя бы 100 строк кода было вот так написано..

Старый 12.06.2009, 11:09
maxen вне форума Посмотреть профиль Отправить личное сообщение для maxen Найти все сообщения от maxen
  № 3  
Ответить с цитированием
maxen

Регистрация: Jan 2009
Сообщений: 19
to KiL33
Пробовал по всякому, но у меня не получается...также печатается страница (т.е. не по формату, обрезается).

Зато попробовал другой способ - на кнопку поставил такой код:
Код AS1/AS2:
on (release) {
  print(this, "bmovie");
}
Теперь печатается так как мне надо (от края до края альбомного листа, весь кадр презентации как бы маштабируется), но теперь он печатает все кадры презентации! А мне надо только выборочные кадры, на которых я поставлю кнопки печати, нажав на которые распечатается только этот кадр,а не все, которые мне надо.

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:40.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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