![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+4 06.05.14]
|
Вообщем то суть темы в шапке.
Вот так я создаю дашт лайн. private function getDashedLine():BitmapData { var sh:Shape = new Shape(); sh.graphics.lineStyle ( 1 , 0 , 1); sh.graphics.lineTo ( 5 , 0 ); sh.graphics.lineStyle ( 1, 0 , 0 ); sh.graphics.moveTo ( 5 , 0); sh.graphics.lineTo ( 10 , 0); sh.graphics.moveTo ( 0 , 0); sh.graphics.lineStyle ( 1 , 0 , 1); sh.graphics.lineTo ( 0 , 5); sh.graphics.moveTo ( 0 , 5); sh.graphics.lineStyle ( 1, 0 , 0 ); sh.graphics.lineTo ( 0 , 10); var bData:BitmapData = new BitmapData( sh.width , sh.height , true , 0 ); bData.draw ( sh ); sh = null; return bData; } Вешаем private function drawDynamicRect(e:MouseEvent):void { _dynamicRect.graphics.clear(); _dynamicRect.graphics.lineStyle ( 1 , 0 , 1 , true, 'none' ); _dynamicRect.graphics.lineBitmapStyle ( _dashed ); _dynamicRect.graphics.beginFill ( 0, 0 ); _dynamicRect.graphics.drawRect ( 0 , 0, _area.mouseX - _dynamicRect.x, _area.mouseY - _dynamicRect.y ); _dynamicRect.graphics.endFill(); e.updateAfterEvent(); } Вот так косячит А нормального эффекта удается только в 10% случаях достич Что можете посоветовать? Другой вопрос уже конкретно по скейлу самого CropTool. Вот изначальный вариант Далее просто начинаю по маусМув менять ширину объекта. И как видно на рисунке, справа пикселя на 1-2 съехало наше чудо. Начинает оно съзежать по какой то странной закономерности. Например до 50 пх не меняется, потом резко на 1 пиксель слетает, потом до 200 не меняется и т.д. Закономерность поймать не могу. Может кто то сталкивался с такими проблемами. Жду вашей помощи. Спасибо |
|
|||||
|
http://www.silin.su/#AS3/geom/dash
+ перерисовка или Scale9Grid, а зачем вам растр (для него тоже есть аналог scale9Grid - scaleBitmap_v122)? гг ну и в догонку: http://code.google.com/p/stroep/sour...ls/CropUtil.as Последний раз редактировалось nOobCrafter; 07.03.2011 в 21:26. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
Вы не понимаете, как работает заливка (и stroke как ее частный случай). Рекомендую почитать здесь.
В вашем случае правда контур определяется не "заливкой", а линией. Это область, покрываемая установленным stroke. Но все остальное остается тем же. Теперь рекомендую на клетчатой бумаге нарисовать хотя бы 4 соседних квадрата с нужным stroke (два по горизонтали и два по вертикали), всего будет 20х20 клеток, и на нем "повырезать" различные прямоугольники. Это как раз и покажет, что выводится в "неправильных" случаях, а также объяснит, почему все это работает ровно в 10% существующих случаев Да и ваши скриншоты закономерность очень хорошо показывают.Кстати, если упражнение выполнять честно, станет видно, что на самом деле пунктир шириной в "полпикселя" а не в целый пиксель .P.S. По второму вопросу код нужно смотреть, совершенно не понятно, о чем идет речь. |
|
|||||
|
[+4 06.05.14]
|
Цитата:
Добавлено через 1 минуту Тему можно закрыть. думаю сам разбирусь. |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|