Solved

size of a bitmap

Posted on 2001-06-30
13
346 Views
Last Modified: 2013-11-19
Hi guys,

I wonder what is the maximum size of a bitmap in memory... I am creating a big bitmap, let me correct it, a huge bitmap... Delphi seems unable to create it.

best regards,
Manuel Lopez
(lopem)
0
Comment
Question by:lopem
  • 4
  • 4
  • 3
  • +2
13 Comments
 
LVL 22

Expert Comment

by:mnasman
ID: 6241887
Hello
 
  Yes, there's limit in creating Huge bitmap images, but this limit not from delphi, it's from windows, if you need to create huge bitmap, see this article

http://www.efg2.com/Lab/Graphics/VeryLargeBitmap.htm

Best regards
Mohammed Nasman
0
 

Expert Comment

by:felonious
ID: 6250700
just curious as to what a "huge" bitmap is (size wise) and why you would need to create such a big bitmap.
0
 
LVL 3

Author Comment

by:lopem
ID: 6250814


Hi Felonious,

I wrote a photomosaic program. I have to build the mosaic from a jpeg library. I can build it without problem, but at the time to save it, the jpeg unit gives to me an error message saying it can do the saving operation.  I think problems start at the 2 megabytes limit of the jpeg library of delphi.

best regards,
manuel Lopez (lopem)
0
 

Expert Comment

by:felonious
ID: 6250954
interesting.  have you tried to save the final jpeg to a tfilestream and then save to file?  this may be a way around the problem, but i haven't tried it.
0
 
LVL 3

Author Comment

by:lopem
ID: 6251149
Felonious,

No, I have to be honest. I dont know how to do that. Can you help me? I found the Intel JPEG library with the header for delphi. I have to try it... But if there is a physycal limitation, probably the best option is to build the image in parts and then process it with Photoshop.

Anyway, take a look to my page with some samples of the photomosaics...

www.la-morsa.com

By the way, supposedly you can send your own image to photomosaic it but this feature is disabled because a technical problem with the server.

best regards,
Manuel Lopez (lopem)
0
 

Accepted Solution

by:
felonious earned 30 total points
ID: 6252868
Ok, well I played around with the tfilestream idea, and the general concept is sound.  i tried this method on a Jpeg that was 6,720KB and it worked fine.  then I wanted to see what would happen if I just used JPEG.SaveToFile and that worked also.  so.....  what version of Delphi are you using?  I'm in Delphi 6 and JPEGImages' SaveToFile worked great.  BUT, heres what I was playing with.. tell me if it works for your version of Delphi.

var
  JPEG : TJPEGImage;
  FS : TFileStream;
  FSFilename : String;

begin
  FSFilename := 'c:\test_out.jpg';
  try
    JPEG := TJPEGImage.Create;
// Delete file if it exists, otherwise what we save to the TFileStream will just get appended to the end of the file
    if FileExists(FSFilename) then DeleteFile(FSFilename);
    FS := TFileStream.Create(FSFilename, fmCreate);

    JPEG.LoadFromFile('C:\test_in.jpg');

// Save to TFileStream
    JPEG.SaveToStream(FS);

// I Put this in just to test and see if it would work.
    JPEG.SaveToFile('c:\test_out2.jpg');
  finally
    JPEG.Free;
    FS.Free;
  end;
end;

I just stuck this in a Buttons OnClick event to test.

Felonious
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
LVL 1

Expert Comment

by:Moondancer
ID: 7014781
ADMINISTRATION WILL BE CONTACTING YOU SHORTLY.  Moderators Computer101, Netminder or Mindphaser will return to finalize these if they are still open in 7 days.  Experts, please post closing recommendations before that time.

Below are your open questions as of today.  Questions which have been inactive for 21 days or longer are considered to be abandoned and for those, your options are:
1. Accept a Comment As Answer (use the button next to the Expert's name).
2. Close the question if the information was not useful to you, but may help others. You must tell the participants why you wish to do this, and allow for Expert response.  This choice will include a refund to you, and will move this question to our PAQ (Previously Asked Question) database.  If you found information outside this question thread, please add it.
3. Ask Community Support to help split points between participating experts, or just comment here with details and we'll respond with the process.
4. Delete the question (if it has no potential value for others).
   --> Post comments for expert of your intention to delete and why
   --> YOU CANNOT DELETE A QUESTION with comments; special handling by a Moderator is required.

For special handling needs, please post a zero point question in the link below and include the URL (question QID/link) that it regards with details.
http://www.experts-exchange.com/jsp/qList.jsp?ta=commspt
 
Please click this link for Help Desk, Guidelines/Member Agreement and the Question/Answer process.  http://www.experts-exchange.com/jsp/cmtyHelpDesk.jsp

Click you Member Profile to view your question history and please keep them updated. If you are a KnowledgePro user, use the Power Search option to find them.  

Questions which are LOCKED with a Proposed Answer but do not help you, should be rejected with comments added.  When you grade the question less than an A, please comment as to why.  This helps all involved, as well as others who may access this item in the future.  PLEASE DO NOT AWARD POINTS TO ME.

To view your open questions, please click the following link(s) and keep them all current with updates.
http://www.experts-exchange.com/questions/Q.20103843.html
http://www.experts-exchange.com/questions/Q.20106401.html
http://www.experts-exchange.com/questions/Q.11362697.html
http://www.experts-exchange.com/questions/Q.20143988.html
http://www.experts-exchange.com/questions/Q.20171229.html
http://www.experts-exchange.com/questions/Q.20190216.html
http://www.experts-exchange.com/questions/Q.20190226.html
http://www.experts-exchange.com/questions/Q.20193039.html
http://www.experts-exchange.com/questions/Q.20195740.html
http://www.experts-exchange.com/questions/Q.20230594.html
http://www.experts-exchange.com/questions/Q.20241586.html
http://www.experts-exchange.com/questions/Q.20273100.html
http://www.experts-exchange.com/questions/Q.20281799.html
http://www.experts-exchange.com/questions/Q.20283305.html
http://www.experts-exchange.com/questions/Q.20297478.html
http://www.experts-exchange.com/questions/Q.20299749.html



*****  E X P E R T S    P L E A S E  ******  Leave your closing recommendations.
If you are interested in the cleanup effort, please click this link
http://www.experts-exchange.com/jsp/qManageQuestion.jsp?ta=commspt&qid=20274643
POINTS FOR EXPERTS awaiting comments are listed in the link below
http://www.experts-exchange.com/commspt/Q.20277028.html
 
Moderators will finalize this question if in @7 days Asker has not responded.  This will be moved to the PAQ (Previously Asked Questions) at zero points, deleted or awarded.
 
Thanks everyone.
Moondancer
Moderator @ Experts Exchange
0
 
LVL 3

Author Comment

by:lopem
ID: 7014976
let me check your code...

thnask in advance,
Manuel Lopez (lopem)
0
 
LVL 1

Expert Comment

by:Moondancer
ID: 7068913
PLEASE FINALIZE THIS.
MOONDANCER - EE MODERATOR
0
 
LVL 1

Expert Comment

by:Moondancer
ID: 7094025
Here is a case where an expert took the time to code, and it remains open more than one month later.

Please finalize this and assign a fair grade.

Moondancer - EE Moderator
0
 
LVL 3

Author Comment

by:lopem
ID: 7094086
Cool! I have to work around it a little but it seems the right answer.

best regards
Manuel Lopez (lopem)
0
 
LVL 1

Expert Comment

by:Moondancer
ID: 7094161
Thanks for returning and finalizing this.
Moondancer - EE Moderator
0
 
LVL 5

Expert Comment

by:mikezang
ID: 11124919
To felonious:
Hi
I tried your method to save a 7800x4680 size jpg picyure, I got not of enough error.
I am using Delphi7 in WinXP OS with 512MB memory, can you tell me why?
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Technology opened people to different means of presenting information, but PowerPoint remains to be above competition. Know why PPT still works today.
Learn how to create interesting presentations by including videos to keep your audience engaged using Prezi. Select "Insert" from the top menu in your Prezi editor: Select "YouTube Video": Paste the video URL into the prompt: "Select "Insert":…
Add visuals to your Prezi to keep your audience engaged. Learn how to embed images, edit them, and more in this video micro tutorial. Select "Insert" from the top menu in your Prezi editor: Select "Image": A toolbar will pop in from the right …

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now