Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to place my projector in the side of my room instead of straight in front of my screen. The problem is that if I do that I'll obviously get a distorted image, much taller on the opposite side of the screen. Do any of you know if there is any software to digitally edit the horizontal keystone of the computers video output? I'm using the VGA output of my computer.

I'm using Windows 8 on my MacBook Pro.

share|improve this question

Since you didn't specify the OS, I feel free to assume it's GNU/Linux. In that case, there is xrandr command, with the --transform option. Have fun! (:

From xrandr man page (check out the other options, like --out):

--transform a,b,c,d,e,f,g,h,i

Specifies a transformation matrix to apply on the output. Automatically a bilinear filter is selected. The mathematical form corresponds to:

a b c
d e f
g h i

The transformation is based on homogeneous coordinates. The matrix multiplied by the coordinate vector of a pixel of the output gives the transformed coordinate vector of a pixel in the graphic buffer. More precisely, the vector (x y) of the output pixel is extended to 3 values (x y w), with 1 as the w coordinate and multiplied against the matrix. The final device coordinates of the pixel are then calculated with the so-called homogenic division by the transformed w coordinate. In other words, the device coordinates (x'y') of the transformed pixel are:

x' = (ax + by + c) / w' and
y' = (dx + ey + f) / w' ,
with  w' = (gx + hy + i)  .

Typically, a and e corresponds to the scaling on the X and Y axes, c and f corresponds to the translation on those axes, and g, h, and i are respectively 0, 0 and 1. The matrix can also be used to express more complex transformations such as keystone correction, or rotation. For a rotation of an angle T, this formula can be used:

 cos T  -sin T   0
 sin T   cos T   0
  0       0      1

As a special argument, instead of passing a matrix, one can pass the string none, in which case the default values are used (a unit matrix without filter).

share|improve this answer
I'm sorry, that's stupid of me. I'm using Window 8 (on my MacBook Pro 13', mid 2009 (I think), if that makes any difference) . Thanks for trying though. – Punchlinern Apr 19 '13 at 19:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .