What did you end up doing to fix this issue? I have exactly the same problem - but I throw the exception "illegalArgumentException" only on the device and not on the simulator - I am using a Databuffer and reading from an http connection - then I get the entire image and scale it down - but it keeps throwing this exception??
DataBuffer db = new DataBuffer();
byte data1 = new byte;
int chunk = 0;
while((chunk = input.read(data1)) != -1)
db.write(data1, 0, chunk);
data1 = db.getArray();
panel1 = Bitmap.createBitmapFromBytes( data1, 0, -1, 3 );