Ruby 我一点一点地画
嗨,我正在尝试用ruby编写BMP reader writer,现在我被困在了屏幕上。 我的图片存储在像素阵列中,每个像素上都存储rgb颜色。 但窗户里什么也没发生?我做错了什么?或者是否有任何qt对象可以存储像素数据并简单地绘制它Ruby 我一点一点地画,ruby,qt,pixel,image,qtruby,Ruby,Qt,Pixel,Image,Qtruby,嗨,我正在尝试用ruby编写BMP reader writer,现在我被困在了屏幕上。 我的图片存储在像素阵列中,每个像素上都存储rgb颜色。 但窗户里什么也没发生?我做错了什么?或者是否有任何qt对象可以存储像素数据并简单地绘制它 def initialize super setWindowTitle "Transparent rectangles" resize 590, 90 move 300, 300 show end def paintE
def initialize
super
setWindowTitle "Transparent rectangles"
resize 590, 90
move 300, 300
show
end
def paintEvent event
painter = Qt::Painter.new self
bmp = BMP::Reader.new("picture.bmp")
drawPicture(painter,bmp.getPixels())
painter.end
end
def drawPicture(painter, pixels)
painter.setPen Qt::NoPen
0.upto(pixels.length-1) do |i|
0.upto(pixels[0].length-1) do |j|
painter.setBrush Qt::Brush.new Qt::Color.new pixels[i][j][2], pixels[i][j][1], pixels[i][j][0], 255
painter.drawPoint(i,j)
end
end
end
qPaint.drawPoint
使用当前笔,而不是画笔。在每个点之前调用painter.setPen
但最好将像素存储在QImage
中。Qt已经支持读取BMP文件,所以不需要自己实现,除非你有充分的理由。Ahh,这是工作,谢谢:)关于QImage是真的,但我想编写reader。这是我正在做的主要部分。现在我正试图在Qt::Picture中绘制这个。有没有办法用我的数据或其他对象填充QImage?或者一些简单的操作类来旋转Qt::Picture?