Two ways to do this.
Let's say we want to draw part of image img, of width by height pixels, with the top-left corner at (ix,iy) in the image, onto the screen at (sx,sy).
Method one (MIDP-2.0 and later only):
Method two (MIDP-1.0 compatible):
g.drawRegion(img, ix, iy, width, height, Sprite.TRANS_NONE, sx, sy, Graphics.TOP | Graphics.LEFT);
If you use method two remember that, once you've changed the clip region, you need to change again later, as it will apply to all operations from then on.
g.setClip(sx, sy, width, height);
g.drawImage(img, sx - ix, sy - iy, Graphics.TOP | Grapics.LEFT);