All mail is always sent as plain text. This is true even of images. Images, before they are sent, are encoded using MIME and sent as plain text, then put back into image format once received at the other end.
HTML is a markup language that is in plain text. Whether a mail client interprets HTML or not is up to the mail client, and users can almost always disable HTML in their mail clients. You cannot force a recipient of your e-mail to interpret HTML in your e-mail, so there is no way to force a picture to be displayed in your signature every time someone reads an e-mail from you.
Also, many mail clients block images, even if they do interpret HTML, because images with special URLs are often used by spammers to determine if a mailbox is "live." So even if you could force a recipient's client to interpret HTML, it might very well block images as a policy, to prevent this spam tactic from working.
Unfortunately, there is just no way to make a picture in an e-mail signature show up for all recipients every time, because there are just too many factors that you have no way to control.