I need to resize an image based on part of image. I could talk about it all day but you won't understand so I am going to show you what I need.

Image 1^ Image 1 is the image I have. Red part is the part I need to extend or stretch. My output should be Image 2-> image 2 So how to do it with Gimp free or pixlr free online editor?


Try the liquid resize gimp plugin: http://liquidrescale.wikidot.com/en:examples It will dynamically detect how repeatable certain pixels are (similar to edge detection), and will repeat based on this repeatability. Moreover, you can select areas you don't want stretched, and areas that you do want stretched.

  • thanks, seems like watching some tutorial for liquid rescale worked! It's a great tool Feb 12 '17 at 19:06
  1. *Image>Canvas size and set the image size to what you want
  2. Duplicate the layer
  3. Move the copy of the layer to the bottom of the canvas (View>Snap to canvas edges may help)
  4. In the layer at the top of the canvas, remove the bottom
  5. In the layer at the bottom of the canvas, remove the top
  6. With the rectangle selection, select a strip as wide as the image, and as high as possible but containing only the vertical rules
  7. Edit/Copy, Edit>Paste, Layer>To new layer
  8. Make duplicates of that strip layer and arrange them vertically to fill the gap between the top an bottom layers.

If the image is under 1024 pixels wide, things can be easier: Steps 1-6 are identical, but then

  1. Edit/Copy
  2. Add a new layer
  3. Start the bucket fill tool, and set the Pattern to "Clipboard" (first pattern)
  4. Bucket fill the layer with the pattern (don't forget to remove the selection)
  5. Move that layer below the top/bottom layers

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.