0

Hello Everyone,
So there is a HTML Canvas with photo editing tool. Which looks like this -

enter image description here

<div class="col-md-12 col-lg-8 col-sm-12" id="mainDiv">
  <div 
    id="canvas1Div" 
    data-toggle="tooltip" 
    title="" 
    data-original-title="Image Processing Area"
  >
    <canvas id="canvas1" width="564" height="488"> </canvas>
  </div>
  <div
    id="canvasDiv" 
    data-toggle="tooltip" 
    data-original-title="" 
    title="" 
    style="border: 0px;"
  >
    <canvas id="canvas3" width="188" height="240"> </canvas>
    <canvas
      id="canvas4" 
      width="188" 
      height="240" 
      style="width: 188px; height: 240px;"
    > </canvas>
  </div>
</div>

So could it be possilbe with JavaScript that the photo I choose can fit to the center part of the canvas (colorfull borders) by executing it on the console of the browser?
Thank you.

1

1 Answer 1

3

Try adding the image on the canvas using this approach:

ctx.drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dWidth, dHeight);
  • sx, sy, sWidth & sHeight are used for cropping the image
  • dx, dy, dWidth & dHeight are used for positioning the image within the canvas. These arguments should correlate with your desired rect position and size.

To learn more on this checkout this link: CanvasRenderingContext2D.drawImage()

Edit

Use the native Image class to import any image from your pc:

const image = new Image(width, height);

// render image on canvas when it‘s done loading
image.onload = () => ctx.drawImage(image, …);

// load the image
image.src = './path/to/image.png';
Sign up to request clarification or add additional context in comments.

1 Comment

I am browsing the image from the pc. What should I use in place of "image" variable?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.