myVectorPlot[x__]:=
VectorPlot[x] /. Arrow[{p_, q_}]:>Arrow[{p + (q - p)/2, q + (q - p)/2}];
Manipulate[
{
sample = Table[
{x - (x*Cos[θ] - y*Sin[θ]),
y - (x*Sin[θ] + y*Cos[θ])},
{x, -Pi, Pi, 1}, {y, -Pi, Pi, 1}
];
scale = Max[Map[Norm, sample, {2}]];
myVectorPlot[{-x + (x*Cos[θ] - y*Sin[θ]), -y + (x*Sin[θ] + y*Cos[θ])},
{x, -Pi, Pi}, {y, -Pi, Pi}, Axes -> True, ImageSize -> Large,
VectorScale -> {0.1*scale + 0.001, 0.2}, Frame -> False,
PlotRange -> {-4, 4}]},
{{θ, 0}, 0, Pi/2}
]

Edit - What I was after:
With[
{xi = -π, xf = π, yi = -π, yf = π, xmin = -3 π,
xmax = 3 π, ymin = -3 π, ymax = 3 π, vpoints = 6},
Manipulate[
Module[
{fx, fy, n},
fx[x_, y_, θ_] := (x Cos[θ] - y Sin[θ]) - x;
fy[x_, y_, θ_] := (x Sin[θ] + y Cos[θ]) - y;
n = Sqrt[((xmax - xmin) (ymax - ymin))/((xf - xi) (yf - yi))];
vp := VectorPlot[
{ fx[x, y, θ], fy[x, y, θ] },
{x, xi, xf}, {y, yi, yf},
Axes -> True, ImageSize -> Large,
VectorScale -> {n Norm[{fx[xf, yf, θ],
fy[xf, yf, θ]}]/Norm[{xmax - xmin, ymax - ymin}],
Scaled[0.1], Automatic},
VectorStyle -> {Black, Directive[Dashed, Blue],
Directive[Dashed, Red]}, VectorPoints -> vpoints,
PlotRange -> {{xmin, xmax}, {ymin, ymax}}
] /. Arrow[x_] :> Translate[Arrow[x], Mean[x] - First[x]]];
components := Graphics[
{
{Blue, Arrow[{{0, 0}, xc = {x Cos[θ], x Sin[θ]}}]},
{Red, Translate[Arrow[{{0, 0}, {-y Sin[θ], y Cos[θ]}}], xc]},
Inset[
Style[{"x Cos(θ)", "x Sin(θ)"} // MatrixForm, Blue], {7, 8}],
Inset[
Style[{"-y Sin(θ)", "y Cos(θ)"} // MatrixForm, Red], {7, 6.5}],
Inset[Style[{"x Cos(θ) - y Sin(θ)",
"x Sin(θ) + y Cos(θ)"} // MatrixForm, Black], {7, 5}]
}
];
Show[vp, components],
{{θ, 0.314}, -π, π}, {{x, xf}, xi,
xf, (xf - xi)/(vpoints - 1)}, {{y, yf}, yi,
yf, (yf - yi)/(vpoints - 1)}]
]

