en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en en nl en en en en de en en en en en nl en en en en en en en en en en en en en en nl en cs en en fr en en en en en en en en nl en en en en en fr en da en en nds en en en en nl en en en en en en en en en en en en nl en en en en en en fr en en en en de en en en fr en en en en en en en en en pt en en en en en en
By logging into your account, you agree to our Privacy Policy, personal data processing and storage practices as described therein.
Forgot password or user name?
Search in titles only Search in PowerBASIC for Windows only
You are not logged in. You can browse in the PowerBASIC Community, but you must click Login (top right) before you can post. If this is your first visit, check out the FAQ or Sign Up.
Max size of graphic bitmap?
All Time Today Last Week Last Month
All Discussions only Photos only Videos only Links only Polls only Events only
Join Date: Nov 2006
Max size of graphic bitmap?
10 Jan 2009, 08:51 PM
I want to create some pretty large bitmaps to be sent to a high res printer. I find GRAPHIC BITMAP NEW fails to create a handle at something less than 8000 by 8000. What limit am I running into- memory? Something else? I'd really like to fill a 8x10.5 page at 1200dpi, so 9600 by 12600 would be ideal. That may seem large, but it's pretty common in my photo/graphics world.
Join Date: Feb 2001
10 Jan 2009, 11:13 PM
On my pc (1GB of RAM, page size 3GB) this code stopped at 5200 x 5200.
Function PbMain() Dim x&, hBmp??? Do Sleep 1 x = x + 100 GRAPHIC BITMAP NEW x, x TO hBmp If hBmp >0 Then GRAPHIC Attach hBmp, 0 GRAPHIC Bitmap End Iterate Loop Else Exit loop End If Loop MsgBox "Bitmap New failed at "+str$(x)+" x "+str$(x),,"Result" End Function
Last edited by Dave Biggs; 10 Jan 2009, 11:17 PM.
Join Date: Nov 2006
11 Jan 2009, 10:21 AM
I didn't go looking for the exact size before, but with your code it's 6200 x 6200. I have 2G of RAM, but the video takes about 0.5, plus XP, leaving a bit under 1G to play with. If a graphic bitmap is 8 bits/color, that's 6200*6200*8*3 = 922560000 bits or 115320000 bytes or 112.6 MB. Is that right (my math is always suspect) or am I missing something else that contributes to size or limitations?
Last edited by Conrad Hoffman; 11 Jan 2009, 10:33 AM.
Join Date: Aug 1998
11 Jan 2009, 10:38 AM
Maybe you can create multiple smaller bitmaps and just print 'em separately but adjacent?
Port Washington WI USA
Join Date: Sep 2000
11 Jan 2009, 10:41 AM
You are limited by actual graphics (video) memory with DDBs (Device Dependent Bitmap). If you are NOT using GDI calls on the bitmap, allocate it as a DIB (Device Independent Bitmap, or "memory bitmap") and use the APIs DIB functions to manage it. DIBs are handled in RAM, which has a 2GB limit under Win32, so you should be safe.
I think the GRAPHIC statements offered by the compiler use DDBs but you'd have to verify that with PB's support dept.
kgpsoftware.com | Slam DBMS | PrpT Control | Other Downloads | Contact Me
Join Date: Nov 2006
11 Jan 2009, 11:05 AM
MCM, that's definitely possible. Some of the things I'm drawing are circular, so I could just mirror the data of a single quad to get the whole thing. For other objects, it's more difficult, but doable.
Kev, it never would have occurred to me that the bitmap was being done in video memory before it got copied for display, but now it makes sense and explains a lot.
Drifting away a bit, when I print using XPRINT statements, is it just like working with a bitmap, that is, can I do anything I want with the pixels, multiple times, overwriting, whatever and nothing is finalized and printed until I issue XPRINT CLOSED?
Copyright © 1998-2022 PowerBASIC Tools, LLC - All Rights Reserved.
Powered by vBulletin® Version 5.7.0
Copyright © 2022 vBulletin Solutions, Inc. All rights reserved.
All times are GMT-5. This page was generated at 05:26 AM.
We process personal data about users of our site, through the use of cookies and other technologies, to deliver our services, and to analyze site activity. For additional details, refer to our Privacy Policy.
By clicking "I AGREE" below, you agree to our Privacy Policy and our personal data processing and cookie practices as described therein. You also acknowledge that this forum may be hosted outside your country and you consent to the collection, storage, and processing of your data in the country where this forum is hosted.