Which image file formats does Image/Bitmap support?

P

Peter Oliphant

The Image class allows loading a bitmap from a graphic file. So far I've
gotten it to work with JPG and BMP files.

What other graphic file formats are supported in this way? Is this fixed
based on the .NET Framework used (e.g., the Image class defines which
formats can be used), or can different file formats be added after-the-fact
(end-user capability in contrast to developer implementation)?

Also, is it possible to save an image in BMP or JPG or etc. graphic formats
natively (part of the language in contrast to written code or 3rd party
stuff)?

Thanks in advance for responses!

[==Peter==]
 
S

Sheng Jiang[MVP]

I am not clear which image library you are talking about. C++ does not have
any built-in keywords for image processing.
If you are talking about GDI+, yes, it is the same in System.Drawing.
If you want to extend your image format support at runtime, write your own
image processing engines as plugins.
 
P

Peter Oliphant

OK, sorry, I will try to be a bit clearer.

The following code will work, and successfully loads the image stored in an
image file into a Bitmap:

Bitmap^ image_bm = gcnew Bitmap( "image.JPG" ) ;

and this works as well:

Bitmap^ image_bm = gcnew Bitmap( "image.BMP" ) ;

but this DOESN'T work:

Bitmap^ image_bm = gcnew Bitmap( "image.TXT" ) ;

Thus, I know the language supports READING both JPG and BMP, and seems to do
so on every computer, thus it appears to accept these particular image file
formats natively (without having to install anything first).

What I'm interested in knowing is which OTHER image formats does this work
with? Equivalently, for which extensions .XYZ will the following also work:

Bitmap^ image_bm = gcnew Bitmap( "image.XYZ" ) ;

[==Peter=]


Sheng Jiang said:
I am not clear which image library you are talking about. C++ does not have
any built-in keywords for image processing.
If you are talking about GDI+, yes, it is the same in System.Drawing.
If you want to extend your image format support at runtime, write your own
image processing engines as plugins.


--
Regards
Sheng Jiang
Microsoft MVP in VC++
Peter Oliphant said:
The Image class allows loading a bitmap from a graphic file. So far I've
gotten it to work with JPG and BMP files.

What other graphic file formats are supported in this way? Is this fixed
based on the .NET Framework used (e.g., the Image class defines which
formats can be used), or can different file formats be added
after-the-fact (end-user capability in contrast to developer
implementation)?

Also, is it possible to save an image in BMP or JPG or etc. graphic
formats natively (part of the language in contrast to written code or 3rd
party stuff)?

Thanks in advance for responses!

[==Peter==]
 
B

Ben Voigt [C++ MVP]

Peter Oliphant said:
OK, sorry, I will try to be a bit clearer.

The following code will work, and successfully loads the image stored in
an image file into a Bitmap:

Bitmap^ image_bm = gcnew Bitmap( "image.JPG" ) ;

and this works as well:

Bitmap^ image_bm = gcnew Bitmap( "image.BMP" ) ;

but this DOESN'T work:

Bitmap^ image_bm = gcnew Bitmap( "image.TXT" ) ;

Thus, I know the language supports READING both JPG and BMP, and seems to
do so on every computer, thus it appears to accept these particular image
file formats natively (without having to install anything first).

This isn't "the language". It is the library that provides graphics
support, including support for different image file formats. Perhaps you
are wanting to know what support is included in the library which is
installed by the .NET Framework (this is called the Microsoft Base Class
Libraries, or BCL)?

Sheng has indicated that the BCL simply uses GDI+ for all its image file
I/O, so you would refer to the GDI+ documentation to learn the capabilities
and limitations. See http://msdn2.microsoft.com/en-us/library/ms536316.aspx

"The graphics file formats supported by GDI+ are BMP, GIF, JPEG, PNG, TIFF,
Exif, WMF, and EMF."
What I'm interested in knowing is which OTHER image formats does this work
with? Equivalently, for which extensions .XYZ will the following also
work:

Bitmap^ image_bm = gcnew Bitmap( "image.XYZ" ) ;

[==Peter=]


Sheng Jiang said:
I am not clear which image library you are talking about. C++ does not
have any built-in keywords for image processing.
If you are talking about GDI+, yes, it is the same in System.Drawing.
If you want to extend your image format support at runtime, write your
own image processing engines as plugins.


--
Regards
Sheng Jiang
Microsoft MVP in VC++
Peter Oliphant said:
The Image class allows loading a bitmap from a graphic file. So far I've
gotten it to work with JPG and BMP files.

What other graphic file formats are supported in this way? Is this fixed
based on the .NET Framework used (e.g., the Image class defines which
formats can be used), or can different file formats be added
after-the-fact (end-user capability in contrast to developer
implementation)?

Also, is it possible to save an image in BMP or JPG or etc. graphic
formats natively (part of the language in contrast to written code or
3rd party stuff)?

Thanks in advance for responses!

[==Peter==]
 
P

Peter Oliphant

"The graphics file formats supported by GDI+ are BMP, GIF, JPEG, PNG, TIFF,
Exif, WMF, and EMF."

Which is precisely the answer I was looking for. Thanx! :)

[==Peter==]

Ben Voigt said:
Peter Oliphant said:
OK, sorry, I will try to be a bit clearer.

The following code will work, and successfully loads the image stored in
an image file into a Bitmap:

Bitmap^ image_bm = gcnew Bitmap( "image.JPG" ) ;

and this works as well:

Bitmap^ image_bm = gcnew Bitmap( "image.BMP" ) ;

but this DOESN'T work:

Bitmap^ image_bm = gcnew Bitmap( "image.TXT" ) ;

Thus, I know the language supports READING both JPG and BMP, and seems to
do so on every computer, thus it appears to accept these particular image
file formats natively (without having to install anything first).

This isn't "the language". It is the library that provides graphics
support, including support for different image file formats. Perhaps you
are wanting to know what support is included in the library which is
installed by the .NET Framework (this is called the Microsoft Base Class
Libraries, or BCL)?

Sheng has indicated that the BCL simply uses GDI+ for all its image file
I/O, so you would refer to the GDI+ documentation to learn the
capabilities and limitations. See
http://msdn2.microsoft.com/en-us/library/ms536316.aspx

"The graphics file formats supported by GDI+ are BMP, GIF, JPEG, PNG,
TIFF, Exif, WMF, and EMF."
What I'm interested in knowing is which OTHER image formats does this
work with? Equivalently, for which extensions .XYZ will the following
also work:

Bitmap^ image_bm = gcnew Bitmap( "image.XYZ" ) ;

[==Peter=]


Sheng Jiang said:
I am not clear which image library you are talking about. C++ does not
have any built-in keywords for image processing.
If you are talking about GDI+, yes, it is the same in System.Drawing.
If you want to extend your image format support at runtime, write your
own image processing engines as plugins.


--
Regards
Sheng Jiang
Microsoft MVP in VC++
The Image class allows loading a bitmap from a graphic file. So far
I've gotten it to work with JPG and BMP files.

What other graphic file formats are supported in this way? Is this
fixed based on the .NET Framework used (e.g., the Image class defines
which formats can be used), or can different file formats be added
after-the-fact (end-user capability in contrast to developer
implementation)?

Also, is it possible to save an image in BMP or JPG or etc. graphic
formats natively (part of the language in contrast to written code or
3rd party stuff)?

Thanks in advance for responses!

[==Peter==]
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top