Jump to content

Recommended Posts

Requirements:

Spoiler

This is the hidden content, please

This is the hidden content, please

Include these two headers into "eterPythonLib":
in addition include this code into an header named "watermark_logo.h"
 

Spoiler
#pragma once
#ifndef WATERMARK_LOGO_H
#define WATERMARK_LOGO_H

#define FULL_WATERMARK
#include <vector>
#include <string>

namespace {

    const std::string base64_chars =
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        "abcdefghijklmnopqrstuvwxyz"
        "0123456789+/";

    inline bool is_base64(unsigned char c) {
        return (isalnum(c) || (c == '+') || (c == '/'));
    }

    inline std::vector<unsigned char> base64_decode(const std::string& encoded_string) {
        size_t in_len = encoded_string.size();
        int i = 0;
        int j = 0;
        int in_ = 0;
        unsigned char char_array_4[4], char_array_3[3];
        std::vector<unsigned char> ret;

        while (in_len-- && (encoded_string[in_] != '=') && is_base64(encoded_string[in_])) {
            char_array_4[i++] = encoded_string[in_]; in_++;
            if (i == 4) {
                for (i = 0; i < 4; i++)
                    char_array_4[i] = static_cast<unsigned char>(base64_chars.find(char_array_4[i]));

                char_array_3[0] = (char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4);
                char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2);
                char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3];

                for (i = 0; i < 3; i++)
                    ret.push_back(char_array_3[i]);
                i = 0;
            }
        }

        if (i) {
            for (j = i; j < 4; j++)
                char_array_4[j] = 0;

            for (j = 0; j < 4; j++)
                char_array_4[j] = static_cast<unsigned char>(base64_chars.find(char_array_4[j]));

            char_array_3[0] = (char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4);
            char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2);
            char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3];

            for (j = 0; j < i - 1; j++)
                ret.push_back(char_array_3[j]);
        }

        return ret;
    }

    // BASE 64img
    const char* WATERMARK_BASE64 = //here you have to overwrite your base64 converted image
        "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"
        "AABASpLw/wGFAWGP9WO2xAAAAABJRU5ErkJggg==";


}

#endif

 

 

in eterPythonLib-->StdAfx.cpp, after "#include StdAfx.h":

#ifdef WATER_MARK
#define STB_IMAGE_IMPLEMENTATION
#include "stb_image.h"
#endif

in eterPythonLib-->PythonGraphic.h:

#ifdef WATER_MARK
#include "watermark_logo.h"
#include "font8x8_basic.h"
#include "stb_image.h"
#endif

in eterPythonLib-->PythonGraphic.cpp, after "bool g_isScreenShotKey = false;"

Spoiler
#ifdef WATER_MARK
// ============================================
// TOP TEXT
// ============================================
void DrawRepeatedWatermarkText(
	BYTE* buffer, UINT width, UINT height,
	const char* text, int yPos = 10)
{
	if (!buffer || !text) return;

	const int FONT_W = 8;
	const int FONT_H = 8;
	const int SPACING = 1;

	// Separator
	const char* SEPARATOR = " * ";
	std::string fullText = std::string(text) + SEPARATOR;

	int textLen = fullText.size();
	if (textLen == 0) return;

	int blockWidth = textLen * (FONT_W + SPACING);
	int repeatCount = width / blockWidth + 3;

	auto drawPixel = [&](int px, int py, unsigned char r, unsigned char g, unsigned char b)
		{
			if (px < 0 || px >= (int)width ||
				py < 0 || py >= (int)height)
				return;

			int idx = (py * width + px) * 3;
			buffer[idx + 0] = b;
			buffer[idx + 1] = g;
			buffer[idx + 2] = r;
		};

	for (int rep = -1; rep < repeatCount; rep++)
	{
		int baseX = rep * blockWidth;

		for (int i = 0; i < textLen; i++)
		{
			unsigned char c = (unsigned char)fullText[i];
			const unsigned char* glyph = font8x8_basic[c];

			for (int row = 0; row < FONT_H; row++)
			{
				unsigned char bits = glyph[row];

				for (int col = 0; col < FONT_W; col++)
				{
					//MIRRORING fix
					if (bits & (1 << col))
					{
						int px = baseX + col + (i * (FONT_W + SPACING));
						int py = yPos + row;
						drawPixel(px + 1, py + 1, 0, 0, 0);
						drawPixel(px, py, 255, 255, 255);
					}
				}
			}
		}
	}
}


static void DrawWatermarkFromRawData(BYTE* buffer, UINT width, UINT height,
	const unsigned char* watermarkData,
	int wmWidth, int wmHeight, int wmChannels)
{
	if (!buffer || !watermarkData) return;

	int posX = (int)width - wmWidth - 10;
	int posY = (int)height - wmHeight - 10;

	if (posX < 0) posX = 5;
	if (posY < 0) posY = 5;

	for (int y = 0; y < wmHeight; y++)
	{
		for (int x = 0; x < wmWidth; x++)
		{
			int screenX = posX + x;
			int screenY = posY + y;

			if (screenX < 0 || screenX >= (int)width ||
				screenY < 0 || screenY >= (int)height)
				continue;

			int wmIdx = (y * wmWidth + x) * wmChannels;
			int screenIdx = (screenY * width + screenX) * 3;

			unsigned char r, g, b, a = 255;

			if (wmChannels == 4) {
				r = watermarkData[wmIdx + 0];
				g = watermarkData[wmIdx + 1];
				b = watermarkData[wmIdx + 2];
				a = watermarkData[wmIdx + 3];
			}
			else if (wmChannels == 3) {
				r = watermarkData[wmIdx + 0];
				g = watermarkData[wmIdx + 1];
				b = watermarkData[wmIdx + 2];
			}
			else {
				continue;
			}

			if (a < 10) continue;

			if (a < 255 && wmChannels == 4) {
				float alpha = a / 255.0f;
				float invAlpha = 1.0f - alpha;

				buffer[screenIdx + 0] = (unsigned char)(b * alpha + buffer[screenIdx + 0] * invAlpha);
				buffer[screenIdx + 1] = (unsigned char)(g * alpha + buffer[screenIdx + 1] * invAlpha);
				buffer[screenIdx + 2] = (unsigned char)(r * alpha + buffer[screenIdx + 2] * invAlpha);
			}
			else {
				buffer[screenIdx + 0] = b;
				buffer[screenIdx + 1] = g;
				buffer[screenIdx + 2] = r;
			}
		}
	}
}

static void DrawWatermarkFromBase64PNG(BYTE* buffer, UINT width, UINT height, const char* base64PNG)
{
	if (!buffer || !base64PNG) return;

	try {
		std::vector<unsigned char> pngData = base64_decode(std::string(base64PNG));

		if (pngData.empty()) {
			TraceError("Failed to decode watermark base64");
			return;
		}

		int wmWidth, wmHeight, wmChannels;
		unsigned char* wmData = stbi_load_from_memory(
			pngData.data(),
			static_cast<int>(pngData.size()),
			&wmWidth,
			&wmHeight,
			&wmChannels,
			0
		);

		if (!wmData) {
			TraceError("Failed to decode watermark PNG: %s", stbi_failure_reason());
			return;
		}

		DrawWatermarkFromRawData(buffer, width, height, wmData, wmWidth, wmHeight, wmChannels);

		stbi_image_free(wmData);

	}
	catch (...) {
		TraceError("Exception while drawing watermark");
	}
}

#ifdef FULL_WATERMARK
static void DrawFullWatermarkRepeated(BYTE* buffer, UINT width, UINT height, const char* base64PNG)
{
	if (!buffer || !base64PNG) return;

	try {
		std::vector<unsigned char> pngData = base64_decode(std::string(base64PNG));
		if (pngData.empty()) {
			TraceError("Failed to decode watermark base64");
			return;
		}
		int wmWidth, wmHeight, wmChannels;
		unsigned char* wmDataOriginal = stbi_load_from_memory(
			pngData.data(),
			(int)pngData.size(),
			&wmWidth, &wmHeight,
			&wmChannels,
			0);

		if (!wmDataOriginal) {
			TraceError("Failed to decode watermark PNG: %s", stbi_failure_reason());
			return;
		}

		// ================================
		// 1) Dimensions max
		// ================================
		const int MAX_W = 128;
		const int MAX_H = 128;

		float scale = 1.0f;
		if (wmWidth > MAX_W || wmHeight > MAX_H)
		{
			float sx = (float)MAX_W / wmWidth;
			float sy = (float)MAX_H / wmHeight;
			scale = min(sx, sy);
		}

		int newW = (int)(wmWidth * scale);
		int newH = (int)(wmHeight * scale);
		unsigned char* wmData = nullptr;

		if (scale < 1.0f) {
			wmData = new unsigned char[newW * newH * wmChannels];

			for (int y = 0; y < newH; y++) {
				for (int x = 0; x < newW; x++) {
					float gx = (x / (float)newW) * wmWidth;
					float gy = (y / (float)newH) * wmHeight;

					int ix = (int)gx;
					int iy = (int)gy;

					if (ix < 0) ix = 0;
					if (iy < 0) iy = 0;
					if (ix >= wmWidth) ix = wmWidth - 1;
					if (iy >= wmHeight) iy = wmHeight - 1;

					int srcIdx = (iy * wmWidth + ix) * wmChannels;
					int dstIdx = (y * newW + x) * wmChannels;

					for (int c = 0; c < wmChannels; c++)
						wmData[dstIdx + c] = wmDataOriginal[srcIdx + c];
				}
			}

			stbi_image_free(wmDataOriginal);
			wmWidth = newW;
			wmHeight = newH;
		}
		else {
			wmData = wmDataOriginal;
		}

		// ================================
		//   2) SOME PARAMS
		// ================================

		const float OPACITY = 0.20f;
		const int SPACING_X = wmWidth + 50;
		const int SPACING_Y = wmHeight + 70;

		int numCols = width / SPACING_X + 3;
		int numRows = height / SPACING_Y + 3;

		for (int row = -1; row < numRows; row++)
		{
			for (int col = -1; col < numCols; col++)
			{
				int baseX = col * SPACING_X;
				int baseY = row * SPACING_Y;

				if (row % 2 == 1) {
					baseX += SPACING_X / 2;
				}
				for (int y = 0; y < wmHeight; y++)
				{
					for (int x = 0; x < wmWidth; x++)
					{
						int sx = baseX + x;
						int sy = baseY + y;

						if (sx < 0 || sy < 0 || sx >= (int)width || sy >= (int)height)
							continue;

						int wmIdx = (y * wmWidth + x) * wmChannels;
						int dstIdx = (sy * width + sx) * 3;

						unsigned char r = wmData[wmIdx + 0];
						unsigned char g = wmData[wmIdx + 1];
						unsigned char b = wmData[wmIdx + 2];
						unsigned char a = (wmChannels == 4 ? wmData[wmIdx + 3] : 255);

						if (a < 20) continue;

						float alpha = (a / 255.0f) * OPACITY;
						float inv = 1.0f - alpha;

						buffer[dstIdx + 0] = (unsigned char)(b * alpha + buffer[dstIdx + 0] * inv);
						buffer[dstIdx + 1] = (unsigned char)(g * alpha + buffer[dstIdx + 1] * inv);
						buffer[dstIdx + 2] = (unsigned char)(r * alpha + buffer[dstIdx + 2] * inv);
					}
				}
			}
		}

		delete[] wmData;
	}
	catch (...) {
		TraceError("Exception while drawing full watermark");
	}
}


#endif
#endif

 

same file, into--> bool CPythonGraphic::SaveScreenShot, before "    bool bSaved = SaveJPEG(c_pszFileName, (LPBYTE)pbyBuffer, uWidth, uHeight);":

#ifdef WATER_MARK
	DrawRepeatedWatermarkText(pbyBuffer, uWidth, uHeight, "StormyFF", 10);  //add your text to display on the top.

#ifdef FULL_WATERMARK
	DrawFullWatermarkRepeated(pbyBuffer, uWidth, uHeight, WATERMARK_BASE64);
#else
	DrawWatermarkFromBase64PNG(pbyBuffer, uWidth, uHeight, WATERMARK_BASE64);
#endif
#endif


Do not forget define WATER_MARK into locale_inc.h

Results:
#define FULL_WATERMARK into "watermark_logo.h":
 

Spoiler

spacer.png

basic:
 

Spoiler

spacer.png

 

  • Metin2 Dev 11
  • Eyes 1
  • Think 1
  • Lmao 1
  • Love 2
Link to comment
https://metin2.dev/topic/34122-watermark-base64/
Share on other sites

Don't use any images from : imgur, turkmmop, freakgamers, inforge, hizliresim... Or your content will be deleted without notice...
Use : https://metin2.download/media/add/

Please use https://metin2.download/ when uploading files smaller than 100MB, otherwise the approval will take longer due to manual upload.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.