मेरा प्रश्न: मैं संसाधन छवि की चमक को बदलने में सक्षम होना चाहता हूं और इसके तीन उदाहरण ImageIcons के रूप में बदलना चाहते हैं। एक 50% चमक (इतना गहरा) पर, दूसरा 75% चमक (थोड़ा हल्का), और अंत में 100% चमक (मूल छवि के समान) पर। मैं पारदर्शिता को भी संरक्षित करना चाहता हूं।किसी छवि की चमक को कैसे बदलें
मैंने जो कोशिश की है: मैंने चारों ओर खोज की है और ऐसा लगता है कि RescaleOp
का उपयोग करने का सबसे अच्छा समाधान है, लेकिन मैं इसे समझ नहीं सकता। मुझे नहीं पता कि स्केल फैक्टर और ऑफ़सेट क्या है। मैंने जो कोशिश की है उसके लिए मेरा कोड यहां दिया गया है।
seeATemplateButton.initialize("/resources/templateIcon-regular.png", 100f, 75f, 50f, "See A Template");
//I think my 100f, 75f, 50f variables need to change, but whenever I change them it behaves unexpectedly (changes colors and stuff).
क्या है कि कोड के साथ होता है: छवि दिखाई देती है "अदृश्य" मैं जानता हूँ कि यह नहीं है, क्योंकि यह एक माउस क्लिक किया घटना के साथ एक JLabel पर है
public void initialize(String imageLocation, float regularBrightness, float focusedBrightness, float pressedBrightness, String borderTitle) throws IOException {
BufferedImage bufferedImage = ImageIO.read(ButtonIcon.class.getResource(imageLocation));
setRegularIcon(getAlteredImageIcon(bufferedImage, regularBrightness));
setFocusedIcon(getAlteredImageIcon(bufferedImage, focusedBrightness));
setPressedIcon(getAlteredImageIcon(bufferedImage, pressedBrightness));
setTitle(borderTitle);
init();
}
private ImageIcon getAlteredImageIcon(BufferedImage bufferedImage, float brightness) {
RescaleOp rescaleOp = new RescaleOp(brightness, 0, null);
return new ImageIcon(rescaleOp.filter(bufferedImage, null));
}
कॉल कुछ इस तरह होगा उस पर और यह ठीक काम करता है। अगर मैं सिर्फ चमक बदलते हिस्से को छोड़ देता हूं और setRegularIcon(new ImageIcon(Button.class.getResource(imageLocation));
कहता हूं तो यह ठीक काम करता है, लेकिन जाहिर है कि यह कोई गहरा नहीं है।
मैं क्या लगता है कि मैं की जरूरत है: कुछ बारे में समझने के मतलब क्या offset
, scaleFactor
, और filter
विधि/करते हैं, और फलस्वरूप क्या संख्या चमक चर के लिए देने के लिए।
किसी भी मदद की सराहना की जाएगी! धन्यवाद!
इस समान प्रश्न देखने के लिए फिर से सेट है। कॉम/प्रश्न/3433275/एडजस्ट-ब्राइटनेस-एंड-कंट्रास्ट-ऑफ-बफर्डिमेज-इन-जावा –