必要なのは、同じ場所で解像度が異なる画像をトリミングすることです。
例えば:
1024×768で作成した画像1
1440×900で作成した画像2
今、私は画像をトリミングする必要がありますが、同じ場所でそれがされるとしましょう
X = 10% Y = 10% 幅 = 30% 高さ = 20%
次のコードを使用してそれを行いますが、必要なように機能しません。
どんな手掛かり?
ありがとうございました!!!
int x = 0;
int y = 0;
int w = 0;
int h = 0;
int inputX = 10;
int inputY = 10;
int inputW = 20;
int inputH = 30;
x = int.Parse(Math.Round(decimal.Parse((__Bitmap.Width * inputX / 100).ToString()), 0).ToString());
y = int.Parse(Math.Round(decimal.Parse((__Bitmap.Height * inputY / 100).ToString()), 0).ToString());
w = int.Parse(Math.Round(decimal.Parse((__Bitmap.Width * inputW / 100).ToString()), 0).ToString());
h = int.Parse(Math.Round(decimal.Parse((__Bitmap.Height * inputH / 100).ToString()), 0).ToString());
Rectangle cropArea = new Rectangle(x, y, w,h);
Bitmap bmpCrop = __Bitmap.Clone(cropArea, __Bitmap.PixelFormat);
技術的にそれを行うためのロジックがあるかどうかを意味しますか?
私は(疑似コード)のようにできると思います
if (Resolution == "1024x768")
int inputX = 10;
int inputY = 10;
int inputW = 20;
int inputH = 30;
else if (Resolution == "1440x900")
int inputX = 8;
int inputY = 8;
int inputW = 19;
int inputH = 28;
and etc...
解像度に応じて % を再計算する係数があるかどうかはわかりません...それはクロップファクターのようなものです。
アップデート: