Я думаю, что эта проблема может возникнуть, когда вы смешиваете, используя npm и пряжу, может быть? Что я сделал, чтобы это исправить:
yarn add
yarn start
Теперь отлично работает
Я не полагаю, что существует единственная простая команда, чтобы сделать это. Несколько опций:
Первое является самым простым реализовать, IMO.
@ Нил Коффи: Спасибо, я тоже искал это; однако, Ваш код работал не очень хорошо для меня (белый фон стал черным).
Я закодировал что-то вроде этого, и это прекрасно работает:
public void setAlpha(byte alpha) {
alpha %= 0xff;
for (int cx=0;cx<obj_img.getWidth();cx++) {
for (int cy=0;cy<obj_img.getHeight();cy++) {
int color = obj_img.getRGB(cx, cy);
int mc = (alpha << 24) | 0x00ffffff;
int newcolor = color & mc;
obj_img.setRGB(cx, cy, newcolor);
}
}
}
Где obj_img - это BufferedImage.TYPE_INT_ARGB.
Я изменяю альфа с помощью setAlpha ((байт) 125); диапазон альфа теперь 0-255.
Надеюсь, кто-то найдет это полезным.
Я на 99% уверен методы, которые утверждают, что имели дело со значением "RGB", упакованным в интервал, на самом деле имеют дело с ARGB. Таким образом, необходимо смочь сделать что-то как:
for (all x,y values of image) {
int argb = img.getRGB(x, y);
int oldAlpha = (argb >>> 24);
if (oldAlpha == 100) {
argb = (80 << 24) | (argb & 0xffffff);
img.setRGB(x, y, argb);
}
}
Для скорости Вы могли, возможно, использовать методы для получения блоков пиксельных значений.