Pixelwerte ???

Posted By: Programm009

Pixelwerte ??? - 11/24/10 14:49

Hi
ich habe zwei Fragen
1.) Was ist der Pixlewert der der rückgabewert von Pixel_for_bmap(...) ist


2.) warum hängt sich dieser Code immer auf
Schaut zwar nicht ser Professionell aus aber ist ja nur ein versuch


////////////////////////////////////////////////////////////////////
#include <acknex.h>
#include <default.c>

//////////////////////////////////////////////////////////////////// Arial#24bi
BMAP* tests = "5.jpg";
var pixel;
var Testss = 10;
var format;
PANEL* first_pan =
{
bmap = "tests";
flags = SHOW;
}
PANEL* anzeige =
{
digits(570,460,4,Arial#24bi,1, testss);
digits(570,480,4,Arial#24bi,1, x_);
digits(570,500,4,Arial#24bi,1, y_);
flags = SHOW;
}

function main()
{
wait(-5);
var x_ = 1;
var y_ = 1;
format = bmap_lock(tests,0);
if (format >= 565)
{
while(Testss > 0);
{
testss -= 1;
pixel = pixel_for_bmap(tests, x_, y_);
pixel_to_bmap(tests,x_,y_,123);
bmap_unlock(tests);
x_ += 1;
wait(1);
}
}
}
Posted By: YellowAfterlife

Re: Pixelwerte ??? - 11/24/10 15:56

pixel_for_bmap returns pixel in specific format (depends on color mode).
To retrieve pixels red, green, blue, and alpha, use pixel_to_vec(color,alpha,format,pixel).
You may look in the manual for these functions. Examples are included there.
Posted By: hopfel

Re: Pixelwerte ??? - 11/24/10 16:37

Du musst bei diesen Pixelfunktionen auch darauf achten, nicht die Bitmapgrösse zu überschreiten.
In der Beziehung hat diese Funktion aus Schnelligkeitsgründen keine Überprüfung, wesshalb das zum Crash führt, anstatt zu einer Fehlermeldung.
Also das hier solltest du noch einfügen:

if(x_ < tests.width && y_ < tests.height)
{
pixel = pixel_for_bmap(tests, x_, y_);
pixel_to_bmap(tests,x_,y_,123);
}
Posted By: Programm009

Re: Pixelwerte ??? - 11/24/10 17:19

Ist zwar ein guter tipp aber leider funktioniert es nicht
ich glaube es liegt an der while-Schleife
aber es ist eh ein wait

Trotzdem danke für die Hilfe.
Posted By: Superku

Re: Pixelwerte ??? - 11/24/10 17:22

BMAP* tests = "5.jpg";

jpg verwendet Komprimierung. Dies wird sicherlich nicht beim Schreiben in die bitmap unterstützt, daher der Absturz.
Posted By: Programm009

Re: Pixelwerte ??? - 11/24/10 17:59

Tut mir leid,
das ist es auch nicht,
ich habe jetzt aber mal alle unwichtigen funktionen mit // nacheinander abgeschaltet,
ich glaube jetzt wirklich es liegt an der while-schleife
sobald ich die ausschalte geht alles wieder
Posted By: Programm009

Re: Pixelwerte ??? - 11/24/10 18:12

Ich hab mir grad das alles noch einmal angeschaut und habe endeckt dass ich
nach while(...) ein Semikolon gesetzt habe.
Jetzt funktioniert alles wieder.

Danke leute für die tolle hilfe
© 2024 lite-C Forums