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

  • SEARCH
  • Home
  • 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 7903129
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T09:40:07+00:00 2026-06-03T09:40:07+00:00

If I wanted to move / shift the pixels of a bitmap how could

  • 0

If I wanted to move / shift the pixels of a bitmap how could I do so?

procedure MovePixels(Bitmap: TBitmap; Horizontal, Vertical: Integer);
begin
  { move the Bitmap pixels to new position }
end;

Example:

enter image description here

By calling MovePixels(Image1.Picture.Bitmap, 20, 20) for example would output like so:

enter image description here

It would be useful to also specify / change the color of the canvas that is left showing after moving the pixels. So in this example that gray / brown color could be blue etc.

I noticed there is Bitmap.Canvas.Pixels and Bitmap.Canvas.MoveTo properties, is this what I would need to do this?

I really don’t know and I bet it is so simple..

  • 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-06-03T09:40:08+00:00Added an answer on June 3, 2026 at 9:40 am

    You can’t easily move pixels, but you can make a copy.

    var
      Source, Dest: TRect;
    ....
    Source := Rect(0, 0, Bitmap.Width, Bitmap.Height);
    Dest := Source;
    Dest.Offset(X, Y);
    Bitmap.Canvas.CopyRect(Dest, Bitmap.Canvas, Source);
    

    What remains is to fill in the space with the colour of your choice which I am sure you can do easily enough with a couple of calls to FillRect.

    However, I think that it would be simpler not to attempt this in-place. Instead I would create a new bitmap. Perhaps like this:

    function CreateMovedImage(Bitmap: TBitmap; X, Y: Integer; BackColor: TColor): TBitmap;
    var
      Source, Dest: TRect;
    begin
      Source := Rect(0, 0, Bitmap.Width, Bitmap.Height);
      Dest := Source;
      Dest.Offset(X, Y);
    
      Result := TBitmap.Create;
      Try
        Result.SetSize(Bitmap.Width, Bitmap.Height);
    
        Result.Canvas.Brush.Style := bsSolid;
        Result.Canvas.Brush.Color := BackColor;
        Result.Canvas.FillRect(Source);
    
        Result.Canvas.CopyRect(Dest, Bitmap.Canvas, Source);
      Except
        Result.Free;
        raise;
      End;
    end;
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I wanted to move our existing repository (from location A) to a new linux
I am a new to magento. I wanted to move the search bar from
I wanted to move my projects in eclipse from SDK rev 15 to rev
I wanted to move from jboss AS 6 to 7 with hibernate 4 support
I've created small database under SQL Server 2008 . Now i wanted to move
If i wanted the plugin on this page to move automatically, what should i
Wanted to know if there was a way one could query shelveset details from
I wanted to move my image using keyboard arrow keys. when I pressed the
This morning I wanted to move my development website online (in a protected folder),
I ran the following command as I wanted to move my production branch back

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.