15,890,399 members
Sign in
Sign in
Email
Password
Forgot your password?
Sign in with
home
articles
Browse Topics
>
Latest Articles
Top Articles
Posting/Update Guidelines
Article Help Forum
Submit an article or tip
Import GitHub Project
Import your Blog
quick answers
Q&A
Ask a Question
View Unanswered Questions
View All Questions
View C# questions
View C++ questions
View Javascript questions
View Visual Basic questions
View Python questions
discussions
forums
CodeProject.AI Server
All Message Boards...
Application Lifecycle
>
Running a Business
Sales / Marketing
Collaboration / Beta Testing
Work Issues
Design and Architecture
Artificial Intelligence
ASP.NET
JavaScript
Internet of Things
C / C++ / MFC
>
ATL / WTL / STL
Managed C++/CLI
C#
Free Tools
Objective-C and Swift
Database
Hardware & Devices
>
System Admin
Hosting and Servers
Java
Linux Programming
Python
.NET (Core and Framework)
Android
iOS
Mobile
WPF
Visual Basic
Web Development
Site Bugs / Suggestions
Spam and Abuse Watch
features
features
Competitions
News
The Insider Newsletter
The Daily Build Newsletter
Newsletter archive
Surveys
CodeProject Stuff
community
lounge
Who's Who
Most Valuable Professionals
The Lounge
The CodeProject Blog
Where I Am: Member Photos
The Insider News
The Weird & The Wonderful
help
?
What is 'CodeProject'?
General FAQ
Ask a Question
Bugs and Suggestions
Article Help Forum
About Us
Search within:
Articles
Quick Answers
Messages
Comments by Basketcase Software (Top 2 by date)
Basketcase Software
1-Aug-18 18:11pm
View
Except you forget one important detail - the OP never mentioned the usage of GDI or GDI+ - that was all you. A Canvas, a WPF construct, does not use GDI or GDI+. The OP specifically said "bitmap" and that is a VERY trivial file format to process and manipulate. Source code already exists to handle that format in just about every major programming language out there.
Your ignorance of the English language and tendency to jump to overdrawn assumptions is quite clear. I never said I was personally insulted. The only party who could have been insulted was the original poster
And insults gives the offended party typically the right of complaint to the forum administrators. Those people have the right to take measures against the party making the insults. I happen to be a board administrator elsewhere. Being snide and arrogant on a forum can come back to haunt you - you never know who you are speaking to. In my case I happen to be one of the founders of a international software company operating on four continents. That makes me an employer as well and a screener of job applicants.
Basketcase Software
22-May-17 17:44pm
View
I'm finding this question, and this rather insulting answer, a bit late. I've already followed the one answer link and it dodges the question just the other posters.
Memory mapped files are for processing large files of any type efficiently without running into memory issues. If you are creating an image processing application having someone tell you to go use another image processing application to do what you are trying to do is absurd. The "break the image into smaller images" is exactly that type of answer. You assumed the person was relying on GDI or GDI+ to actually manipulate the full image.
I know my position is that I have large image that:
1) I can't resize.
2) I use another program to break into chunks. Why? Because breaking the image into chunks with a specific naming convention, etc. is precisely my goal.
Let me give the person who posted the question a valid answer even if it is a bit late.
1) Understand the format of the image file you are trying to read.
2) Create a library that will parse your memory mapped file according to that format; do not rely on GDI or GDI+ to do the decoding - they can't - you have to do your own decoding. I would create a work memory map that has a raw representation of each pixel and track the image dimensions.
3) Process your work memory map and output your results according to your needs. If you need to output a single image file of a large size for this you have to handle the encoding yourself.