Staples will do this type of work. the cost is by the square foot. and i think, if i remember correctly, it came to about $75 for a poster size (24 x 36 inch).
and on your second question, is the picture itself opaque or transparent?
and if you're really interested in this, check out true flatbed printers. and i do mean true flatbeds. they run about $350,000 or so. these printers allow you to print on anything, glass, wood, plastic, you name it

for that price it shld wash my car, clean my windows, do my laundry and kiss my a**
actually, i've been looking for a long time for a home, true flatbed at a reasonable price. it shldnt be that hard to make.