Hi,
I am using .Net environment for Visual Studio C++.
The data format that I am handling is a vector format, whose maximum size is about 150 mm * 150 mm.
Now, I have to convert the vector data into .bmp ( or any other bitmap image format) whose pixel size is 1 micron ( 1/1000 mm ).
Calculating the number of pixel is around 150*1000 * 150*1000, that means the number of pixels is 22.5 Giga.
I used CreateCompatibleBitmap for vector drawing(DDB: Device Dependant Bitmap), and GlobalAlloc for DIB(Device Independant Bitmap).
In both functions, the system does not act what I wanted.
If the number of pixel is too big, the pixel size can be 5 micron.
Is there anyone who can help me give me a hint ?
Thanks a lot....
Comments
Anyway, one solution I have for this is to forget about the single bitmap. Don't store that kind of an image in a single image. The only practical purpose other than getting in the record books.
I'd split up the images into "large" sections. I am talking about sections about 10MB maximum. If your sections are too big, it'll use too much RAM. If you want to use jpeg to limit the space, it'll save harddrive space(66GB of bitmaps -> 5GB jpeg probably). The same RAM is used for jpegs as bitmaps, though. Also, if you use jpeg, you lose a very small part of image quality and the decompression takes some processing time.
You could set up some programs to supply users with intuitive ways of viewing and manipulating the 22GB image(actually the compilation of over 1000 sections).
Some examples of features you could provide are:
- zooming out to view the whole image at once(probably involves swapping through all sections to get their small component of the image and therefor being really slow)
- zooming in as much as the user wants
- editing of the graphics
I'm currious. Why do you want such a big image for rasterizing a vector graphic? You are talking about such small sizes, it is like you scanned something with a microscope.
: Hi,
: I am using .Net environment for Visual Studio C++.
: The data format that I am handling is a vector format, whose maximum size is about 150 mm * 150 mm.
:
: Now, I have to convert the vector data into .bmp ( or any other bitmap image format) whose pixel size is 1 micron ( 1/1000 mm ).
:
: Calculating the number of pixel is around 150*1000 * 150*1000, that means the number of pixels is 22.5 Giga.
:
: I used CreateCompatibleBitmap for vector drawing(DDB: Device Dependant Bitmap), and GlobalAlloc for DIB(Device Independant Bitmap).
:
: In both functions, the system does not act what I wanted.
:
: If the number of pixel is too big, the pixel size can be 5 micron.
:
: Is there anyone who can help me give me a hint ?
:
: Thanks a lot....
:
: Anyway, one solution I have for this is to forget about the single bitmap. Don't store that kind of an image in a single image. The only practical purpose other than getting in the record books.
:
: I'd split up the images into "large" sections. I am talking about sections about 10MB maximum. If your sections are too big, it'll use too much RAM. If you want to use jpeg to limit the space, it'll save harddrive space(66GB of bitmaps -> 5GB jpeg probably). The same RAM is used for jpegs as bitmaps, though. Also, if you use jpeg, you lose a very small part of image quality and the decompression takes some processing time.
:
:
: You could set up some programs to supply users with intuitive ways of viewing and manipulating the 22GB image(actually the compilation of over 1000 sections).
:
: Some examples of features you could provide are:
: - zooming out to view the whole image at once(probably involves swapping through all sections to get their small component of the image and therefor being really slow)
: - zooming in as much as the user wants
: - editing of the graphics
:
:
: I'm currious. Why do you want such a big image for rasterizing a vector graphic? You are talking about such small sizes, it is like you scanned something with a microscope.
:
:
: : Hi,
: : I am using .Net environment for Visual Studio C++.
: : The data format that I am handling is a vector format, whose maximum size is about 150 mm * 150 mm.
: :
: : Now, I have to convert the vector data into .bmp ( or any other bitmap image format) whose pixel size is 1 micron ( 1/1000 mm ).
: :
: : Calculating the number of pixel is around 150*1000 * 150*1000, that means the number of pixels is 22.5 Giga.
: :
: : I used CreateCompatibleBitmap for vector drawing(DDB: Device Dependant Bitmap), and GlobalAlloc for DIB(Device Independant Bitmap).
: :
: : In both functions, the system does not act what I wanted.
: :
: : If the number of pixel is too big, the pixel size can be 5 micron.
: :
: : Is there anyone who can help me give me a hint ?
: :
: : Thanks a lot....
:
ok,with todays cpu i think it will take longer time to load that huge amounts of data into your (hopyfully big enough