1
Amacım, bir pencereye rasgele pikselleri boyamak için basit bir sarıcı oluşturmaktır. Jython'daki resim pikselleri
Ne yazık ki her zaman hata alıyorum:Traceback (most recent call last):
File "test.py", line 11, in <module>
canvas = window('Test', WINDOW_WIDTH, WINDOW_HEIGHT)
File "..\painter.py", line 16, in __init__
my_jframe.getContentPane().add(my_image)
TypeError: add(): 1st arg can't be coerced to java.awt.Component, java.awt.PopupMenu
sorunu ne ???
Önerileriniz için teşekkür ederiz!
Lucas.
# (test.py)
#! /usr/bin/env jython
import time
import random
from painter import window
WINDOW_WIDTH = 800
WINDOW_HEIGHT = 600
canvas = window('Test', WINDOW_WIDTH, WINDOW_HEIGHT)
print('fuck1')
for x in range(WINDOW_WIDTH):
for y in range (WINDOW_HEIGHT):
rgba = [ random.randint(0, 255), random.randint(0, 255), random.randint(0, 255), 255]
print(x, y, rgba)
canvas.paint_pixel(x, y, rgba)
time.sleep(1)
denilen modül şuna benzer::
arayan olarak ben şu kullanmak
# (painter.py)
#! /usr/bin/env jython
import javax.swing
import java.awt
class window(object):
def __init__(self, window_title, window_width, window_height):
my_jframe = javax.swing.JFrame(window_title)
my_image = java.awt.image.BufferedImage(
window_width,
window_height,
java.awt.image.BufferedImage.TYPE_INT_ARGB
)
my_jframe.getContentPane().add(my_image)
my_jframe.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE)
my_jframe.setSize(window_width, window_height)
my_jframe.setLocationRelativeTo(None) # center window
my_jframe.show()
def paint_pixel(self, x, y, rgba):
c = java.awt.Color(rgba[0], rgba[1], rgba[2], rgba[3])
self.my_image.setRGB(x, y, c)