Прозрачность пикселя на Java


Задача:

Узнать прозрачный или нет пиксель с определенными координатами в изображении на языке Java.
Решение:

import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

/**
 *
 * @author UpRead.ru
 */
public class ImageAlfa {
 
    public static boolean checkPix(BufferedImage bi, int x, int y){
    Object colorInfo = bi.getRaster().getDataElements(x, y, null);
        int rgbColor = bi.getColorModel().getRGB(colorInfo);
        Color cl = new Color(rgbColor, true);
        return (cl.getAlpha() == 0);
}
     
    public static void main(String[] args) throws IOException {
       BufferedImage image = ImageIO.read(new File("C:\\rab\\im\\art217-1.png"));
       int x = 320;
       int y = 211;
       
       boolean isAlfa = checkPix(image, x, y);
       
       if (isAlfa) System.out.println("Пиксель прозрачный");
       else System.out.println("Пиксель непрозрачный");      
    }   
}
Комментарий

Программа демонстрирует работу метода checkPix. Метод принимает изображение и координаты пикселя, а выдает булевую переменную. Изображение может быть, например, таким. Просто картинка понравилась :)

Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, задачи, java, изображения, прозрачность




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Поля и методы в Java: правила доступа к полям
Урок 13. Индексаторы C#
Вывод списка файлов и каталогов на C++ средствами WinApi