How to create the same png icon but with a different color?

2 visualizzazioni (ultimi 30 giorni)
Here is a .png of a button icon.
I need exactly the same icon, with the same style but a green color.
How can I achieve that?

Risposta accettata

Image Analyst
Image Analyst il 8 Mar 2019
Try this:
redButton = imread('red button.png');
[rows, columns, numberOfColorChannels] = size(redButton)
% Convert to Hue, saturation, value color space.
hsvImage = rgb2hsv(redButton);
% Make hue 0.3. Adjust as needed.
hsvImage(:, :, 1) = 0.3 * ones(rows, columns);
% Go back to RGB space
greenButton = im2uint8(hsv2rgb(hsvImage));
% Display both images.
subplot(2, 1, 1);
imshow(redButton);
subplot(2, 1, 2);
imshow(greenButton);
0000 Screenshot.png
If you want to cycle through a bunch of colors to see them all, try this:
for h = 0 : 0.05 : 1
redButton = imread('red button.png');
[rows, columns, numberOfColorChannels] = size(redButton)
hsvImage = rgb2hsv(redButton);
% Make hue the current h color.
hsvImage(:, :, 1) = h * ones(rows, columns);
greenButton = im2uint8(hsv2rgb(hsvImage));
% Display both images.
subplot(2, 1, 1);
imshow(redButton);
subplot(2, 1, 2);
imshow(greenButton);
drawnow
promptMessage = sprintf('This Hue = %.2f\nDo you want to Continue, or Quit?', h);
titleBarCaption = 'Continue?';
buttonText = questdlg(promptMessage, titleBarCaption, 'Continue', 'Quit', 'Continue');
if contains(buttonText, 'Quit')
break;
end
end
  2 Commenti
Akbar
Akbar il 9 Mar 2019
Thank you very much, very interesting, I can even have other colors!
How about corners? They appear black. How to make them white or maybe transparent?

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 7 Mar 2019
img = imread('ButtonRed.png');
mask = img(:,:,2) < 128; %true for red areas but false for white areas
npix = nnz(mask);
temp = [zeros(npix,1), ones(npix,1), zeros(npix,1)]; %green
img(repmat(mask,1,1,3)) = temp;
imwrite(img, 'ButtonGreen.png');

Categorie

Scopri di più su Get Started with MATLAB in Help Center e File Exchange

Prodotti


Release

R2013a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by