Преобразовать цвет в изображение?

#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"));