相关疑难解决方法(0)

比例图像调整大小

我将图像缩放到适当的预定义大小时遇到​​了一些问题.我想知道 - 因为它纯粹是数学,如果有某种常见的逻辑算法适用于每种语言(PHP,ActionScript,Javascript等),可以按比例缩放图像.

我现在正在使用它:

var maxHeight   = 300;
var maxWidth    = 300;

var ratio:Number    =   height / width;

if (height > maxHeight) {
    height = maxHeight;
    width = Math.round(height / ratio);
} 

else if(width > maxWidth) {
    width = maxWidth;
    height = Math.round(width * ratio);
}
Run Code Online (Sandbox Code Playgroud)

但它不能正常工作.图像按比例缩放,确定,但尺寸未设置为300(宽度或高度).这有点意义,但我想知道是否有一种傻瓜式,简单的方法来按比例缩放图像.

language-agnostic image-manipulation

31
推荐指数
1
解决办法
2万
查看次数

如何重新调整图像C#.net Windows窗体的大小

我想知道,一旦我将图像加载到窗体中,有没有办法允许用户拖动该图像的角落并重新调整大小?

目前,我知道PictureBox.Scale方法(但不推荐使用).我也知道PictureBox.Image.Size.这是否意味着每次重新调整大小时我都需要使用PictureBox.Image.Size?另外,我如何允许他们抓取图像以重新调整大小?我想我正在考虑绘画以及它如何允许用户选择图像,然后通过拖动角来重新调整大小......

我不是在寻找一个完整的解决方案 - 只是在正确方向上的一些指针(伪代码或一般描述来帮助我的思维过程会很好).我不太确定如何解决这个问题.

到目前为止,这是我的代码:

        using (OpenFileDialog ofd = new OpenFileDialog())
        {
            ofd.Title = "Load Image";

            if (ofd.ShowDialog() == DialogResult.OK)
            {

                PictureBox pictureBox = new PictureBox();
                pictureBox.Image = new Bitmap(ofd.FileName);
                pictureBox.SizeMode = PictureBoxSizeMode.StretchImage;
                pictureBox.Size = pictureBox.Image.Size; 
                panelArea.Controls.Add(pictureBox); 

            }
        }
Run Code Online (Sandbox Code Playgroud)

.net c# winforms

2
推荐指数
1
解决办法
1万
查看次数