PDA

Volledige versie bekijken : Bitmap opslaan op server


DoDo
%Europe/Berlin %414 %2009, 10:57
Hallo allemaal,

Ik ben bezig met een 'game' waarbij mensen zelf hun huis kunnen inrichten. Ze kunnen meubels e.d. in de kamer zetten en hem helemaal inrichten. Dit gaat allemaal goed en is ook al af, alleen nu moeten ze ook hun woonkamer kunnen insturen om een prijs te kunnen winnen.

Ik weet hoe ik de gegevens naar PHP moet sturen om een afbeelding te genereren (genoeg voorbeelden over het internet), maar bij mij geeft ie een probleem.

Om ruimte te besparen stuur ik witte pixels niet mee, die vul ik wel via PHP, maar nu stuurt ie helemaal geen pixels mee.

Het gaat om een scherm van +/- 800 * 600, maar als ik de grootte van de bitmap op 200*200 zet zie ik al niks meer.

Iemand enig idee hoe ik dit kan verhelpen (of een andere manier om de gegevens te versturen)?

Code
private function saveBitmap(bmd:BitmapData):void
{
var pixel:String;

for(var i:uint = 0; i < bmd.width; i++)
{
pixel = bmd.getPixel(i, this.rows).toString(16) == 'ffffff'
? ''
: bmd.getPixel(i, this.rows).toString(16);

this.pixels.push(pixel);
}

this.rows++;

if(this.rows >= bmd.height)
{
clearInterval(this.timer);

this.sendData(bmd.width, bmd.height);
}
}

private function sendData(w:int, h:int):void
{
var urlrequest:URLRequest = new URLRequest('http://localhost/saveBItmap.php');
var urlvars:URLVariables = new URLVariables();
var urlloader:URLLoader = new URLLoader();
urlloader.dataFormat = URLLoaderDataFormat.TEXT;

urlloader.addEventListener(Event.COMPLETE, this.handleComplete);

urlvars.pixels = this.pixels.toString();
urlvars.height = h;
urlvars.width = w;
urlrequest.data = urlvars;
urlrequest.method = URLRequestMethod.POST;
urlloader.load(urlrequest);
}

Hij stuurt overigens wel de variabelen height en width mee.

Alvast bedankt.

Jan
%Europe/Berlin %453 %2009, 11:52
Misschien is het gemakkelijker om de AS3 jpeg encoder te gebruiken...
http://code.google.com/p/as3corelib/
http://henryjones.us/articles/using-the-as3-jpeg-encoder

De methode die jij gebruikt is vooral voor AS2 scripts bedoeld.
(omdat in AS2 geen ByteArray class bestaat)

Groeten;
Jan

DoDo
%Europe/Berlin %468 %2009, 12:14
Probleem op dit moment is dat de server helemaal vastslaat (Apache2 is gestopt melding).

Ik zal die encoder eens proberen.