Odin SolutionsOdin Solutions

🖼️

Steganographia

Week 9, 2026

All Solutions

Load image, adjust pixel format, use as cstring | greenya | Odin Solutions

package main import "core:fmt" import "core:strings" import rl "vendor:raylib" message_png_bytes := #load("message.png") main :: proc () { img := rl.LoadImageFromMemory(".png", raw_data(message_png_bytes), i32(len(message_png_bytes))) rl.ImageFormat(&img, .UNCOMPRESSED_R8G8B8) defer rl.UnloadImage(img) bytes_per_pixel :: 3 // bytes per pixel for UNCOMPRESSED_R8G8B8 is 3 bytes_count := bytes_per_pixel * int(img.width) * int(img.height) message := strings.string_from_null_terminated_ptr(cast ([^]u8) img.data, bytes_count) fmt.println("-------- message { --------") fmt.println(message) fmt.println("-------- } message --------") }