图片剪切

本文介绍了一种算法,用于根据客户端窗口的尺寸调整图片大小,确保图片在不同设备上都能完美显示。通过计算图片宽度与高度的比例,与客户端窗口的比例进行比较,算法能够智能地调整图片尺寸,同时保持其原始比例。这种方法适用于网页开发中,特别是在响应式设计中,以优化用户体验。
 

              //Draw picture.
                {
                    int iWidth = m_pBitmap->GetWidth();
                    int iHeight = m_pBitmap->GetHeight();

                    CRect rct(0, 0, iWidth, iHeight);
                    if ((float)rct.Width() / (float)rct.Height() > (float)m_rctClient.Width() / (float)m_rctClient.Height())
                    {
                        iWidth = (int)((float)iHeight * (float) m_rctClient.Width() / (float)m_rctClient.Height());
                        int iMargin = (rct.Width() - iWidth) / 2;
                        rct.left += iMargin;
                        rct.right -= iMargin;
                    }

                    if ((float)rct.Width() / (float)rct.Height() < (float)m_rctClient.Width() / (float)m_rctClient.Height())
                    {
                        iHeight = (int)((float)iWidth * (float)m_rctClient.Height() / (float)m_rctClient.Width());
                        int iMargin = (rct.Height() - iHeight) / 2;
                        rct.top += iMargin;
                        rct.bottom -= iMargin;
                    }
                    pRT->DrawBitmap(m_pBitmap, GetRect_2(m_rctClient), GetRect_2(rct), 1.0F, FALSE);
                }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lb8607

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值