How can i enlarge an image with graphic codes in TP7?

Hi;
I want to enlarge an image which is determined with the coordinates {(x1,y1),(x2,y1),(x1,y2),(x2,y2)} with a specific ratio. For example a want to dubble size an image.
İf i can do this i will easily stretch an image in pascal.
Thanks for yor attention...

Comments

  • : Hi;
    : I want to enlarge an image which is determined with the coordinates {(x1,y1),(x2,y1),(x1,y2),(x2,y2)} with a specific ratio. For example a want to dubble size an image.
    : İf i can do this i will easily stretch an image in pascal.
    : Thanks for yor attention...
    :
    That's quite easy. Instead of placing 1 pixel on the screen, place 2x2 (or more for larger zoom ratios) pixels on the screen. Here is a little pseudo code, which performs this.
    [code]
    procedure DrawPicture(
    Image:array[1..30,1..30] of byte; { Image map }
    ZoomFactor:byte; { zoom factor }
    OriginX,OriginY:integer); {top-left corner}
    var
    x,y,i,j:integer;
    begin
    for x:=0 to 29 do
    for y:=0 to 29 do
    for i:=0 to ZoomFactor-1 do
    for j:=0 to ZoomFactor-1 do
    SetPixel( {SetPixel doesn't exists, I think; but there is a procedure in the Graph unit, which allows you to set 1 pixel}
    OriginX+X*ZoomFactor+i, { Column position of pixel }
    OriginY+Y*ZoomFactor+i, { Row position of pixel }
    Image[X+1,Y+1]); { Pixel }
    end;
    [/code]
    This code is quite slow and untested. The position formulas are correct, but I don't remember the name of the correct procedure (too much Delphi & too little pascal).

    Good luck
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

In this Discussion