2012-08-14 20 views
7

Tôi đang sử dụng setRGB() để thay đổi giá trị của pixel của hình ảnh.setRGB() trong java

int rgb=new Color(0,0,0).getRGB(); 
image1.setRGB(i,j,rgb); //where i,j is the boundaries of the image 

Ở đây, tôi đang đặt tất cả các giá trị pixel bằng màu trắng. Nhưng sự thay đổi không được phản ánh trong hình ảnh. Bất kỳ ai biết về cách hoạt động của setRGB()?

+0

Có thể có lỗi khác hoặc bạn đi một cách sai lầm. Vì vậy, vui lòng đăng thêm mã. – reporter

+2

Một vài điểm .. - Màu (0,0,0) sẽ là màu đen - setRGB đặt một pixel riêng lẻ trong một hình ảnh, không phải toàn bộ hình ảnh – Jimmy

+0

biểu đồ màu rgb http://www.tayloredmktg.com/ rgb/# PA –

Trả lời

16

trắng là trong RGB 255.255.255 vậy:

Color myWhite = new Color(255, 255, 255); // Color white 
int rgb = myWhite.getRGB(); 

try { 
    BufferedImage img = null; 
    try { 
     img = ImageIO.read(new File("bubbles.bmp")); 
    } 
    catch (IOException e) { 
    } 

    for (int i = 0; i < 100; i++) { 
     for (int j = 0; j < 100; j++) { 
      img.setRGB(i, j, rgb); 
     } 
    } 

    // retrieve image 
    File outputfile = new File("saved.png"); 
    ImageIO.write(img, "png", outputfile); 
} 
catch (IOException e) { 
} 
+0

Cảm ơn bạn đã trả lời ... tôi đã nhận được lỗi của tôi – Rohit

+0

Nếu điều này trả lời câu hỏi của bạn, vui lòng chấp nhận câu trả lời để câu hỏi được đánh dấu là đã trả lời. – JeffC

1
Color col = new Color(newValue, newValue, newValue); 
      image1.setRGB(i, j, col.getRGB());