Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 5957879
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 22, 20262026-05-22T18:27:50+00:00 2026-05-22T18:27:50+00:00

I have a very strange issue. Here is a simplified code of mine to

  • 0

I have a very strange issue.

Here is a simplified code of mine to explain :

class Bitmap1
{
    public Bitmap nImage;
    public IntPtr data;


    public Bitmap1()
    {
        int w = 2450;
        int h = 2450;

        this.data = Marshal.AllocHGlobal(w*h);

        nImage = new Bitmap(w, h, w, PixelFormat.Format8bppIndexed, data);

    }
}

When w and h are equal to 2448, everything works well if I invocate the constructor.

But when h and w are equal to 2450, I have an ArgumentException which seems launch by the “new Bitmap(…);”

I can’t understand, and the documentation doesn’t say there is a limited size for Marshal.AllocHGlobal.

What’s wrong? Are there other ways to do what I want ?

Thank you very much.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-22T18:27:50+00:00Added an answer on May 22, 2026 at 6:27 pm

    stride
    Type: System.Int32
    Integer that specifies the byte offset between the beginning of one scan line and the next. This is usually (but not necessarily) the number of bytes in the pixel format (for example, 2 for 16 bits per pixel) multiplied by the width of the bitmap. The value passed to this parameter must be a multiple of four..

    http://msdn.microsoft.com/en-us/library/zy1a2d14.aspx

    So you need something like the following:

    int w = 2450;
    int h = 2450;
    int s = 2452;//Next multiple of 4 after w
    
    this.data = Marshal.AllocHGlobal(s*h);
    
    nImage = new Bitmap(w, h, s, PixelFormat.Format8bppIndexed, data);
    

    This means there are 2 bytes between every line that are just padding and not part of the bitmap itself. When doing pointer arithmetic you obviously need to do s*y+x and not w*y+x to account for the padding.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am having a strange issue. I have a very simple piece of code
I have a very strange issue going on here. It's only occurring on Internet
I have very strange issue, on most browsers (ie, ff, chrome, safari). Here is
I have a very strange issue, that I'm hoping someone here can help me
I have a very strange issue on my hands. I have two IIS websites
I am facing a very strange issue. I have a SharePoint webpart that displays
I have very strange behaviour of Java Date class: System.out.println(new Date().toGMTString()); long l =
I have a very strange behavior with Request.Form . Here are two IIS 7
I have a very strange bug, which I believe is caused by some code
I have very strange issue. In my WP7 app I have a pivot control

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.