Click here to Skip to main content
11,707,470 members (59,602 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: C++

I have very large rectangle filled with an image and displayed in a small area maintaining aspect ratio of large rectangle. Now i have selected an area in rectangle dimension from the image. Now i need to convert the selected rectangle to large rectangle dimension.

Please find a solution for this???

Thanks in advance.
Posted 14-Feb-12 23:55pm

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

Convert each point using the formula:
X = X0 + (x-x0) * (X1-X0)/(x1-x0);
Y = Y0 + (y-y0) * (Y1-Y0)/(x1-x0);

where p0={x0,y0}, p1={x1,y1} are 'opposite edges', for instance, top-left and bottom-right points of the smaller rectagle and P0={X0,Y0}, P1={X1,Y1} are the analogous points of the larger one.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 156
1 Sergey Alexandrovich Kryukov 145
2 Mika Wendelius 140
3 chainerlt 110
4 ppolymorphe 104
0 OriginalGriff 9,178
1 Sergey Alexandrovich Kryukov 8,562
2 CPallini 5,189
3 Maciej Los 4,806
4 Mika Wendelius 3,706

Advertise | Privacy | Mobile
Web03 | 2.8.150819.1 | Last Updated 15 Feb 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100