Здравствуйте, есть такая проблема, подскажите пожалуйста как её решить
Мне нужно сохранить картинку из свф в файл.

Код AS1/AS2:
import flash.display.BitmapData;
import flash.geom.Matrix;
_root.menu = new ContextMenu();
var context_menu:ContextMenu = new ContextMenu();
context_menu.customItems.push(new ContextMenuItem("Сохранить изображение", this.onContextMenu));
_root.menu = context_menu;
function onContextMenu() {
trace("1");
makeShadow();
}
function makeShadow() {
trace("2");
capture(0);
}
/*
create a function that takes a snapshot of the Video object whenever it is called
and shows in different clips
*/
function capture(nr) {
this["snapshot"+nr] = new BitmapData(_root._width, _root._height);
this["snapshot"+nr].draw(_root,new Matrix());
var t:MovieClip = createEmptyMovieClip("bitmap_mc"+nr, nr);
//display the specified bitmap object inside the movie clip
t.attachBitmap(this["snapshot"+nr],1);
output(nr);
//attachMovie("print_but", "bot"+nr, 100+nr, {_x:t._x+t._width+50, _y:t._y+t._height/2})
}
//Create a new bitmapdata, resize it 50 %, pass image data to a server script
// using a LoadVars object (large packet)
function output(nr) {
//Here we will copy pixels data
var pixels:Array = new Array();
//Create a new BitmapData
var snap = new BitmapData(this["snapshot"+nr].width, this["snapshot"+nr].height);
//Matrix to scale the new image
myMatrix = new Matrix();
myMatrix.scale(1,1);
//Copy image
snap.draw(this["snapshot"+nr],myMatrix);
var w:Number = snap.width, tmp;
var h:Number = snap.height;
//Build pixels array
for (var a = 250; a<=w-150; a++) {
for (var b = 0; b<=h-150; b++) {
tmp = snap.getPixel32(a, b).toString(16);
pixels.push(tmp.substr(1));
}
}
//Create the LoadVars object and pass data to PHP script
var output:LoadVars = new LoadVars();
output.img = pixels.toString();
output.height = h-150;
output.width = w-400;
//The page (and this movie itself) should be in a server to work
output.send("show.php","output","POST");
_root["bitmap_mc"+nr].removeMovieClip();
}
stop();
Тоесть я мувик рута копирую в битмап, а потом когда кидаю данные в пхп то отмечаю тот отрезок который именно мне нужен(собственно диаграмма)
http://www.realty4sale.ru/i1/diagram/2.html
только вот на серваке при обращении к show.php
Цитата:
|
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 1048576 bytes) in /home/realty4s/public_html/i1/diagram/show.php on line 5
|
Я то вижу переполнение памяти, но как это исправить?
сам файл
http://www.realty4sale.ru/i1/diagram/show.txt
на localhost работает все,
только имеет такой глюк, изображение какое то нечеткое
http://www.realty4sale.ru/i1/diagram/diagram.JPG
Заранее спасибо.