Do you want the cheapest way to do it or the highest quality, or something in between?
If you have an image that fits in less than 20x30", CostCo or another mass printing service can do it for $10. They won't do any adjustment, so the colors may be off a little.
They'll print on canvas to 30x40" for $120. That's only 150dpi; it doesn't look great up close, but is pretty good from 3+ feet away. Again, colors are what they are.
High quality printing is a thing that you talk about with a professional printer (the person, not the machine) for each job. Prices generally start at $100 or so for smallish prints, and can go up to $1500 or more for large, permanent-art quality work.