PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Тюнинг интерфейса PSP (https://www.pspx.ru/forum/forumdisplay.php?f=109)
-   -   01-12.bmp - [Делаем] фоновая картинка в XMB (https://www.pspx.ru/forum/showthread.php?t=59655)

ErikPshat 03.12.2007 06:57

01-12.bmp - [Делаем] фоновая картинка в XMB
 
Как разбирать и собирать файл фоновой картинки 01-12.bmp

Тут вот подумал, что не каждый умеет разбирать и склеивать картинки. А кто-то вообще не имеет представления, что картинка 01-12.bmp - это не одна картинка и не несколько слоёв, а 12 последовательно склеенных картинок. Вот и решил написать очередной роман. Правда думал ещё, в какую бы тему это запихать. Решил в эту, так как вроде тоже каким-то боком связано с темой замены цветных шрифтов. И те и другие параллельно меняются по месяцам и получается привязаны друг к другу.

==================================================

Придумал вот способ как вставить одну большую картинку в файл 01-12.bmp, чтобы выводилась как фон под волнами и при этом бы работали все 12 цветовых тем.
Мне удалось только приклеить к 11-ти стандартным темам (60х34) 12-тую с максимальным размером 300х170. Больший размер у меня никак не удавалось заставить работать, картинка совсем не отображалась или пропадало часть иконок. Но в принципе и так неплохо выглядет, особенно если взять картинку без чётко очерченных контуров.

Надо сначала найти 12 стандартных картинок 60х34 в формате BMP или нарисовать самому. Если лень рисовать, то можно взять оригинальную 01-12.bmp из прошивки, которая лежит в папке flash0:/vsh/resource/01-12.bmp или найти кастомную, коих в инете хоть пруд пруди.

В этом одном файле 01-12.bmp склеены 12 картинок BMP, следующие по очереди одна за другой и имеющие абсолютно одинаковый размер.
При просмотре такой картинки на компьютере будет отображаться только первая картинка, а про остальные вы даже и не будете подозревать, что они там присутствуют.
Об этом можно только догадаться по размеру файла, равным 74112 байт : 1024 = 72,375 Килобайт. Если 74112 байт разделить на 12 картинок, то получим 6176 байт - размер одной картинки 60х34. То есть, если вы видите файл 60х34 с размером 72,3 Кб, то сразу становится ясно, что это не одна картинка bmp, а 12 склеенных в один файл.

Теперь нам надо просто разрезать этот файл на 12 одинаковых частей. Для этого нам понадобится программка-нарезчик. Например подойдёт маленькая простенькая бесплатная прога, написанная Алексеем Тарановым под названием "Split Files".


В верхней половине программы можно разбивать файлы на части, а в нижней - склеивать.
Сейчас нам надо разбить файл 01-12.bmp на 12 частей.
Слева наверху в окне "Опции" выбираем пункт "число", правее в поле "Число частей" вводим 12.
Нажимаем кнопку "Выбрать" и находим приготовленный файл 01-12.bmp.
Нажимаем на кнопку "Разбить файл" и получаем 12 файлов с названиями 01-12.001, 01-12.002, 01-12.003,.....01-12.012.
Как видим, расширение у них в виде трёхзначных чисел. Переименуйте у всех 12-ти файлов расширение на ".bmp" и теперь можно будет наглядно посмотреть на картинки.

Теперь берём вашу любимую картинку 480х272 и открываем её в любом графическом редакторе.
Можно воспользоватся Фотошопом, но желательно в XnView Complete version (Multi-language), так как картинки меньшего размера и без потери качества не умеет делать однозначно никто.
Дело в том, что многочисленные именитые программы обработки графики всегда добавляют в картинку свою информацию о том, что она была редактирована именно этой программой, информацию о расположении слоёв, о своих цветовых шаблонах, информацию для печати на принтерах, поддерживающих EXIF для более точной цветопередачи и ещё тонны всякой информации, порою даже превосходящей по весу саму картинку. А XnView не страдает такой гордостью и наоборот умеет избавляться от такой информации, не затрагивая саму картинку.

Короче, открыли картинку. Открываем меню "Рисунок -> Изменение размера" и поставив галочку "Сохранять пропорции" вводим ширину и высоту - 300х170.
Затем идём в "Инструменты -> Преобразование JPEG без потерь -> Диалог" и в открывшемся окошке ставим галочки "Отсечь у рисунка неиспользуемые пиксели" и "Сброс значения ориентации из EXIF". Нажимаем кнопку "Выполнить".
В заключении идем в меню "Файл -> Сохранить как", выбираем формат JPG - JPEG. Там же нажимаем кнопку "Опции" и выбираем значение качества не ниже 85%, а лучше 100%, так как картинка у нас итак 300х170 - ниже физического разрешения экрана, да и весить она будет не больше 20 Килобайт.

Ну вот у нас есть теперь всё, что нужно: 12 отдельных картинок 60х34 в формате BMP и одна красивая 300х170, но в формате JPG.
Нам же нужны все картинки одного формата - BMP.

Придётся пойти на небольшую уловку. Надо просто переименовать расширение с JPG на BMP и сразу назвать её 12.bmp.
У нас получилась картинка 12.bmp размером 300х170 и весом 20 Кб, хотя настоящая картинка формата BMP весила бы около 150 Кб.

Теперь перейдём к процессу склеивания всех 12-ти картинок в одну.
Положите 11 картинок 60х34 отдельно в одну пустую папку, а 12-тую последнюю заменим на свою 12.bmp (300x170).
Названия у картинок должно быть такое - 01.bmp, 02.bmp, 03.bmp.....12.bmp.
Заметьте, что наша большая картинка обязательно должна быть последней двенадцатой, так как считывание происходит побитово с начала в конец. Отсчитав определённое количество бит, необходимое на первую картинку, дальше должна начинаться вторая картинка и так далее. А если начала картинки там не окажется, то она не будет отображаться. Поэтому, если мы положим нашу большую картинку всередину или в начало, то все последуюшие картинки сместятся и нарушится адрес каждой следующей картинки, в результате чего все последующие будут не в состоянии прочитаться. А начало последней картинки по любому будет находится на нужной позиции и поэтому она легко прочитается, независимо от того, большая она или маленькая. Главное начало, а конец всегда найдётся :D .

Итак, продолжим процесс склеивания. Ну уж клеить то наверное все умеют, это дело не хитрое.
Чтобы склеить все картинки нам не нужна никакая программа. Вернее мы сами её щас нарисуем.
Создайте в той же папке с приготовленными картинками пустой текстовой документ - жмём в папке правой кнопкой мыши и выбираем "Создать -> Текстовый документ". Открываем его блокнотом и копируем туда три следующие строчки:

Код:


@echo off
copy /b 01.bmp+02.bmp+03.bmp+04.bmp+05.bmp+06.bmp+07.bmp+08.bmp+09.bmp+10.bmp+11.bmp+12.bmp 01-12.bmp
pause

В принципе первую и третью строку можно вообще выкинуть, просто так будет понтовее.
Сохраняем его при закрытии и переименовываем, нy-у-у например в Вася.bat. Главное, чтоб на конце расширение было ".bat", как у нормального исполняемого файла.
Запускаем наш батничек "Вася.bat" и забираем готовую картинку 01-12.bmp.
Быстренько берём ЗЫЗу в руки, открываем в Рекавери flash0 и закидываем в vsh/resource/... .
Запускаем консоль, заходим в "Настройки темы" и радуемся жизни. Смотрим на волны, геймбуты, вспоминаем Чёрное море, Канарские острова, смотря какую картинку влепили :russian:

Вот один пример такой картинки: Скачать

И имейте ввиду, что собранный таким хитрым способом файл, обратно разложить на 12 картинок не получится, так как программа разрезает файл на одинаковые куски, а у нас последняя картинка больше, чем другие. Из-за этого, разрезав обратно файл на 12 равных частей, все 12 картинок разрежутся со смещением и будут испорченными.
Можно разрезать картинку, задав размер части 6176 байт, но в таком случае 11 первых картинок вырежутся нормально, а вот 12-тая большая порежется на несколько кусочков.
Можно вырезать все картинки в HEX-редакторе, имхо самый лёгкий и эффективный способ.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Кстати, есть ещё один способ отображения картинки. Обычно просто картинку BMP переименовывают как 01-12.bmp и так же используют в качестве фона. Недостаток такого метода в том, что картинка будет отображаться только как первый Январский месяц фона, а на остальных месяцах будет белый экран и не получится так же менять цвет шрифта, изменяя месяцы. Но зато картинка получается ближе к физическому разрешению экрана и выглядет почти без искажений. Только вот сколько не скачивал таких картинок, все они не больше, чем 460х261 и весят довольно прилично, около 300Кб.

Мой же метод аналогично вышеописанному. Берёте полноразмерную картинку 480х272 и так же открываете в программе XnView.
Размер не меняем, а только избавляемся от излишней информации, как я уже описывал выше. Ну можно ещё сжатие выставить на 85-90%, что будет практически не отличимым от оригинала, но зато меньше весить.
Потом сохраняем её как JPEG и затем переименовываем в 01-12.bmp.
Зато размер её будет составлять 20-80 Кб в отличии от 380 Кб BMP при таком размере.
Правда показывать её будет так же только при выборе первого месяца, зато со 100-процентным качеством в полный размер без растяжения и соответственно без искажений.
Если взять картинку BMP 480x270, которая весит 380 Килобайт, потом сохранить её в JPEG, получив картинку в 80 Килобайт, а затем обратно переименовать её на BMP (80 Кб), то получатся две абсолютно идентичные по отображению картинки BMP, только размер у них будет заметно отличаться.

Вот пример такой картинки - скачать.

На всякий случай, кто хочет на первый месяц ЧЁРНЫЙ ФОН, а остальные месяца цветные - скачать

Trip_Evgen_3 06.01.2008 17:05

Есть вариант проще - скачайте http://trip.ifolder.ru/4850726
когда распакуете, увидете 12 каритнок и одну программу.
Картинки разукрасьте и, когда закончите, запустите прогу make 1-12bmp
файл 01-12.bmp создастся автоматически)

Bush3L0 03.04.2008 16:29

Парни хэлп! Ну не получается никак картинку свою сделать! Само сабой всё по инструкции точно. Вместо картинки какойто фарш непонятный на псп высвечивается. Вторым способом сработало, но не будуу же я весь год с январём на псп ходить ;)
Вобщем помогите плз!



картинка специально для темы.. такакя большая чтоб при переделывании в норм размер качество лучше было :)
Если готовым файлом выложите буду совсем признателен!

добавлено через 11 часов 0 минут
Вобщем поковырявшись немного получилось сделать так, что 1 картинка из 12 - то что нужно.. разрешение 300*170 и огрехи в качестве очень заметны :( может есть способ без потери качества или хотябы с качеством 480*272 сохранить?

Bush3L0 05.04.2008 22:01

480*272 сохраняется норм.. тока пол меню пропадает.. ужс

TiTaN1111 26.08.2008 16:09

по мне так легче выдрать из флеш(0) темы нужный и все

Zlodey4eg 30.10.2008 16:51

как я понял на прошивке 5.0 нету этого файла в указаной папке....

KingSD 30.10.2008 17:38

Zlodey4eg, есть

Zlodey4eg 30.10.2008 18:34

странно это как.... я вроде не ослеп... не вижу.
Извините.... не включено было отображение скрытых системных файлов

White_elF 29.06.2009 16:42

Ммм мануал не обновлялся давно, никому на руки не попадался как стабильно заменять все картинки?Просто уже не раз натыкался на подмену всех\ либо же 13-26 картинок.

myhouse_1991 29.06.2009 18:48

Для этого нужно не изменять разрешение этих bmp'шек... Когда я все эти картинки перерисовывал, то через HEX разобрал картинки все 2 мулти-bmp, хитро перерисовал (чтобы при растягивании смотрелось прилично), не изменив разрешение и склеил через HEX. Хотя жаль, что Sony занимается не понятно чем и не дает по-человечески сделать все скины под 480x272, сжатые в PNG, а не в BMP.

ErikPshat 30.06.2009 05:04

White_elF, а зачем его обновлять? С тех пор ничего не изменилось, за исключением того, что теперь 13-27.bmp у Слимки на самом деле 13-30.
Ссылки правда нерабочие, но Гугль пока работает.

LaKosta 23.07.2009 02:40

Split Files 1.5

Coby 19.12.2009 01:05

невнимательные какие-то в Сони работают, напихали фонов всех цветов радуги)) зато, белый есть причем даже 2 вроде)) а черного нету))

Misha_RUS 27.03.2010 14:27

А можно с псп Слим на псп Фэт фоны закинуть????

KingSD 27.03.2010 14:30

Misha_RUS, Вот плагин

drunrfhl 20.04.2010 23:20

ErikPshat, сделал картинку точно по описанию, вставил в ctf тему, запустил, волны есть, картинка есть, а иконки "игра'', "сеть", "psnetwork" исчезли... Или это картинки для кастомной прошивки?

ErikPshat 21.04.2010 05:34

drunrfhl, если значки пропадают, значит не хватает памяти, для отображения всех иконок.
Нужно фоновую картинку уменьшать в размере.
Как я писал, удачно получаются картинки 300х170.
А если использовать 480х272 jpg2bmp, то только в стандартной исходной теме во flash0:/vsh/resource/

drunrfhl 21.04.2010 10:07

ErikPshat, уже уменьшил на 200x114 появился значок "игра", может у меня иконки сильно навороченные?

ErikPshat 21.04.2010 10:14

drunrfhl, ну наверное у тебя в теме слишком много графики. И в общей сумме они занимают всю графическую память, что не хватает на отображение других иконок.

Поробуй просто без темы во flash0 заменить, если у тебя конечно прошивайка.

COOLERbyPSP 25.04.2010 16:30

ErikPshat,
Цитата:

Сообщение от ErikPshat (Сообщение 882324)
А если использовать 480х272 jpg2bmp, то только в стандартной исходной теме во flash0:/vsh/resource/

У меня и в исходной пропадают...
480х272...19,6 кб...Все плагины в отрубе кроме cxmb.Без него ещё хуже О_О"


Текущее время: 00:15. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.