Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как сделать скругленные углы у прямоугольника? (http://www.flasher.ru/forum/showthread.php?t=160684)

sarjick 16.07.2011 00:30

Как сделать скругленные углы у прямоугольника?
 
Есть битмап, состоящий из двух цветов: фон и несколько квадратов на нем, которые могут как пересекаться, так и быть отделенныеми друг от друга. Как бы мне программно округлить им углы?

Как-то надо считывать пиксели, проверять их цвета и нужные пиксели (угловые) делать прозрачными? А если квадраты пересекаются?

Спасибо за любой ответ

Romanson 16.07.2011 01:52

Что-то не очень понятно описана проблема. Но смотреть нужно явно в сторону BitmapData и в частности bitmapData.hitTest(....) для проверки пересечения пикселей.
Округлить углы sprite.graphic.drawRoundRect(...)

serogah 16.07.2011 02:11

Привет. Можно попробовать маской.
Код AS3:

import flash.display.Bitmap;
import flash.display.Sprite;
 
var bmp:Bitmap=new Bitmap();
var maska:Sprite=new Sprite();
 
bmp.bitmapData=new Avatar();
maska.graphics.beginFill(0,1);
maska.graphics.drawRoundRect(0,0,bmp.width,bmp.height,20,20);
maska.graphics.endFill();
 
bmp.mask=maska;
addChild(bmp)


sarjick 16.07.2011 10:47

Привет,

я не совсем правильно выразился в вопросе, у меня уже есть готовый отрисованный битмап с этими прямоугольниками и никаких спрайтов ... (


но спасибо за ответы все равно

Aquahawk 16.07.2011 11:05

А можно пример битмапа сюда скинуть? Ну ли хоть его кусочек.

sarjick 16.07.2011 11:22

Вложений: 2
Прикрепляю пример того, что есть и того, что хотелось бы получить.

Котяра 16.07.2011 12:35

ну так вам serogah всё написал

sarjick 16.07.2011 14:00

А как мне определить красные квадраты на этом битмапе, в этом, как я понимаю, и есть главная проблема?

КорДум 16.07.2011 14:22

http://help.adobe.com/ru_RU/FlashPla...getPixel%28%29

sarjick 16.07.2011 15:03

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


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

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