ruby - 高须: How to resize an image to fit window?

标签 ruby drawing libgosu

使用 Ruby Gosu,我以这种方式绘制图像:

@background_image.draw(0, 0, 0)

图像比窗口大,有没有办法神奇地调整它以适应窗口?我试图避免对 factor_xfactor_y 进行硬编码。

最佳答案

你可以用这样的东西计算 factor_x\factor_y(假设你的窗口存储在@window 中)

fx = @window.width/@background_image.width
fy = @window.height/@background_image.height
@background_image.draw(0, 0, 0, fx, fy)

或者使用 draw_as_quad 方法,但是稍微冗长一点 ( http://www.libgosu.org/rdoc/Gosu/Image.html#draw_as_quad-instance_method )

@background_image.draw_as_quad(0, 0, 0xffffffff, @window.width, 0, 0xffffffff, @window.width, @window.height, 0xffffffff, 0, @window.height, 0xffffffff, 0)

关于ruby - 高须: How to resize an image to fit window?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17163664/

相关文章:

.NET 图形重影

java - g.drawLine 不执行任何操作

ruby - ( ruby :Gosu) Gosu drawing shape images with sprites

ruby - Gosu 中的居中文本

ruby-on-rails - 如何在 Rails 中的 CSV 解析期间更改编码

ruby - 通过 RVM 在 Ubuntu 上安装 Ruby 1.9.2

android - 用 canvas 画画 Android

ruby - 未定义方法(NoMethodError)ruby 和 Gosu

ruby-on-rails - 使用 Ruby 上的 Prawn 将图像添加到 pdf 文件

容器中的 Ruby OOM