#javascript #java #xml #colors #background-color
#javascript #java #xml #Цвет #цвет фона
Вопрос:
У меня проблема: APK, который я хочу изменить, имеет цвет фона (белый). Изменение цвета для меня не проблема, я могу изменить цвет на черный, розовый, синий, что угодно. Но я хотел бы преобразовать цвет в изображение, чтобы у вас было изображение в качестве фона. Как это возможно?
Комментарии:
1. Не могли бы вы предоставить нам немного больше информации? Например, что такое APK, что вы разрабатываете (веб-сайт или мобильное приложение), или его назначение, или, может быть, код, который вы уже используете для изменения цвета фона? Что-то в этом роде.
2. Вопрос недостаточно ясен. На этот вопрос есть много возможных ответов. И какой язык программирования следует использовать Java или JavaScript?
3. Здравствуйте, прежде всего, спасибо за быстрые ответы! Программа представляет собой APK для Android, программа не очень большая, всего 1 МБ. Я редактирую APK с помощью MT Manager и сам его не изучил. Но я тоже его не крал, вот что она думает сейчас. Это автоматический кликер, где фон белый. В Resources> Color я нахожу цвет фона, но я не знаю, как я могу преобразовать его в PNG или вставить туда картинку, чтобы она заранее стала цветом, изображением. Возможно ли, что я просто отправлю вам APK?
4. Редактирование APK-файлов не является продуктивным подходом к разработке приложений. (На самом деле это очень сложно) Откуда вообще появился APK? Вот где вам проще всего вносить подобные изменения.
5. Имя пакета — simplehat.clicker его очень низкий APK 1 мб
Ответ №1:
Вот что я использую для создания изображения определенного цвета (любого цвета):
/**
* Creates a Color Icon image.
* All colors to this method must be provided in in hexadecimal format.<br>
*
* @param hexColor (String) A hexadecimal Color value (ex: #FFFFFF - The color white) you want to turn into an Icon.<br>
*
* @param width (Integer - int) The desired width of the image.<br>
*
* @param height (Integer - int) The desired height of the image.<br
* >
* @param borderOptions (Optional - String - To Options)<pre>
*
* borderColor - Default is black (#000000). You can set whatever
* border color you like as long as it is supplied
* in hexadecimal.
*
* borderThinkness - Default is "0" (No Border). You can set whatever
* border thickness you like as long as it is a String
* representation of a integer value (ex: "3").</pre><br>
*
* @return (Icon) A javax.swing.icon type is returned of the supplied color.
* Convert this to whatever image type you like or use in your component's
* 'setIcon()' method as is.
*/
public static javax.swing.Icon colorToIcon(String hexColor, int width, int height, String... borderOptions) {
java.awt.Color borderColor = java.awt.Color.decode("#000000");
float borderThickness = 0;
if (borderOptions.length > 0) {
// Border Color
if (borderOptions.length >= 1) {
if (borderOptions[0] != null) {
if (!borderOptions[0].startsWith("#")) {
borderOptions[0] = "#" borderOptions[0];
}
borderColor = java.awt.Color.decode(borderOptions[0]);
}
// Border Thickness
if (borderOptions.length >= 2 amp;amp; borderOptions[1] != null amp;amp; borderOptions[1].matches("\d ")) {
borderThickness = Float.valueOf(borderOptions[1]);
}
}
}
java.awt.image.BufferedImage img = new java.awt.image.BufferedImage(width, height,
java.awt.image.BufferedImage.TYPE_INT_ARGB);
java.awt.Graphics2D g2d = img.createGraphics();
g2d.setColor(java.awt.Color.decode(hexColor));
g2d.fillRect(0, 0, width, height);
if (borderThickness > 0) {
g2d.setColor(borderColor);
g2d.setStroke(new java.awt.BasicStroke(borderThickness));
int bwOffset = 0, bhOffset = 0;
if ((int) borderThickness > 0) {
bwOffset = (int) borderThickness / 2;
bhOffset = bwOffset;
}
g2d.drawRect(0 bwOffset, 0 bhOffset, width - (int) borderThickness, height - (int) borderThickness);
}
javax.swing.Icon icon = new javax.swing.ImageIcon(img);
g2d.dispose();
return icon;
}
Как использовать:
jLabel1.setIcon(colorToIcon("#FF00FF", 48, 48, "#000000", "1"));