중간에 임의의 픽셀과 정수로 이미지를 만듭니다. 그러나 색상이 옳지 않은 것처럼 보입니다.TYPE_INT_ARGB 이미지가 올바르게 표시되지 않습니다.
당신이 볼 수 있듯이, 색상은 옳지 않다. 여기에 100 % 불투명도와 흰색 숫자의 색상 (255,255,255,255)를 설정 한 코드
private void createImage(){
try{
String key = "3534";
BufferedImage thumbnail = new BufferedImage(300, 300,BufferedImage.TYPE_INT_ARGB);
Graphics graphics = thumbnail.getGraphics();
graphics.setFont(new Font(null, Font.BOLD, 100));
randomizePixels(graphics);
graphics.setColor(new Color(255,255,255,255));
graphics.drawString(key, thumbnail.getWidth()/2, thumbnail.getHeight()/2);
ImageIO.write(thumbnail,"jpg",new File("c:\\image1.jpg"));
}catch (Exception e){
e.printStackTrace();
}
}
private void randomizePixels(Graphics graphics){
Random random = new Random();
for(int k=0;k<300;k++){
for(int j=0;j<300;j++){
graphics.setColor(new Color(random.nextFloat(), random.nextFloat(), random.nextFloat(), random.nextFloat()));
graphics.fillRect(k,j,1,1);
}
}
}
당신이 볼 수 있듯이
입니다.내가 틀리게해야 할 일이 있습니까? 내 번호를 흰색으로 되 돌리는 방법은 무엇입니까?
I와 원하는 색상을/얻을 것이다 내 웹 서버 테스트를로드하려고합니다 (64x64 jpg 만 허용). 나는 대부분의 랜덤 잡음이 큰 크기가된다는 것을 알았습니다. 또한 이미지의 숫자는 이미지가 올바르게 업로드되었는지 확인하는 것입니다. 답장을 보내 주셔서 감사합니다! –
물론 랜덤 노이즈는 큰 크기가됩니다. 이론 상으로는 가능한 엔트로피가 극대화되므로 압축하기가 어렵습니다. 결과에 대해 걱정이된다면 투명도가 높기 때문에 항상 채워진 그림으로 시작해야합니다 (그리고 알파 채널을 다른 작업에도 적용 할 수 있습니다). 다른 브라우저에서 다르게 표시됩니다. – NeplatnyUdaj