Превъртане на грешки в bitmapfill с големи контейнери. Флекс 3.6

Имам следния сценарий:

Създавам HBox с ширина 1000000px (един милион пиксела ширина).

тази голяма HBox се съдържа в друга малка HBox, която има ширина 1000 px

<mx:HBox id="small" width="1000" >
   <mx:HBox id="big" width="1000000" />     
</mx:HBox>

Вътре в този голям HBox създавам bitmapFill на просто изображение, то е просто модел от линии

проблемът е, че лентата за превъртане на малкия hbox не работи добре, просто спира наполовина, палецът на лентата за превъртане продължава, но превъртането спира и краят на големия hbox не е достигнат.

Някой знае ли решение за това? Благодаря предварително. Ето частта от кода, която прави bitmapfill:

var shape:Shape = new Shape();
shape.graphics.lineStyle(2, 0x008800);
shape.graphics.drawRect(0,0,100, 100);

var bd:BitmapData = new BitmapData(0, 100, true, 0x00000000);
bd.draw(shape);

small.graphics.clear();
small.graphics.beginBitmapFill(bitmapData);             
small.graphics.drawRect(0,0,width, 400);
small.graphics.endFill();

person tony    schedule 07.07.2011    source източник
comment
Защо имате нещо на милион пиксела?!? Освен това има ограничения за Flash Player.   -  person J_A_X    schedule 07.07.2011
comment
това е нещо като персонализирана диаграма на историята, това ще съдържа историята на определени събития и дисплеят ще показва МНОГО години в данни   -  person tony    schedule 07.07.2011
comment
Наличието на много данни не означава, че трябва да ги изобразите всички едновременно. Защо трябва да изобразявате нещо, което потребителят не може да види?   -  person J_A_X    schedule 07.07.2011
comment
Освен това, ако използвате Flex, защо не използвате диаграмите, които вече са налични там, или използвате такава на трета страна, която е онлайн?   -  person J_A_X    schedule 07.07.2011
comment
прав си, просто компонентът вече е създаден и трябва да поправя това и си помислих дали може да има лесно решение за това. Тъй като това е персонализиран компонент, ще трябва да програмирам цялата логика, за да скрия невижданата информация, и това ще ми отнеме много време. Но добре, просто искам да знам дали има възможно решение за това.   -  person tony    schedule 07.07.2011
comment
Съжалявам, няма. Персонализиран компонент или не, никога не съм виждал нещо да бъде начертано, което да не се вижда от потребителя поради причини, свързани с производителността. Трябва да преосмислите/преработите вашия компонент или просто да използвате това, което е лесно достъпно.   -  person J_A_X    schedule 07.07.2011
comment
Не, дори и да беше възможно (което не е), съгласен съм с Jax - това е лоша идея. Имате ли представа колко памет би изразходвала растерна карта с размери 1 милион x 1 милион, да не говорим за обработка? 10 квадрилиона пиксела, ако беше възможно? :)   -  person Nate    schedule 08.07.2011


Отговори (1)


Както всички ми казаха, подходът, който се опитвам да разработя, е невъзможен и наистина не се препоръчва. Но както посочи Adobe, flash 11 ще премахне ограниченията на размера, така че, ако искате да направите нещо като голямата растерна графика, която исках да създам, тогава ще трябва да изчакате flash 11

person tony    schedule 14.07.2011