[release] nbimg: HTC splash screen tool

Search This thread

roboprint

Senior Member
Jan 8, 2011
886
446
Warsaw
Hi,
I have small problem with command in nbimg.
I type
nbimg.exe -w 480 -h 800 -F splash1.bmp | rename .bmp to .img
and file splash1.bmp.nb is created but not changing a name to img.
What can be wrong?
Edit: Solved
Can be :
nbimg.exe -w 480 -h 800 -F splash1.bmp
rename *.bmp.nb splash1.img
 
Last edited:

RuLEoF2

Senior Member
Sep 22, 2010
244
99
Baltimore
HTC Incredible S
HTC Rezound
Can someone help me out?

I used this tool for my Incredible at least a couple dozen times and never had a problem. The string that worked for that was... "nbimg.exe -F splash1.bmp -w 480 -h 800". Worked every time.

Now, I'm trying to make some screens for my rezound and I keep getting the error below.

nbimg.exe%20error.jpg


Thanks.
 
Last edited:

lt1pnyklr

Senior Member
Aug 15, 2009
260
9
Greenville, SC
Can someone please explain how you use this nbimg script? Is it used from a pc or the phone? If the phone where do you put the file, root of sdcard? Then run terminal with the proper commands to convert? If you use cmd on a pc are you placing this file in your platform-tools directory? I don't get it.
 

eclyptos

Senior Member
Jun 14, 2008
3,040
640
Planet Earth
GUYS, it's seems your don't know how works nbimg v1.1.

I try to explain because who use nbimg v1.1 don't know there is no way to go back if for curiosity someone try the second splash screen of the application.

Nobody write a warning about that.

I did 20 custom splash screen, like I like, and I do them today if I want. So I convert any .jpg file into .png 24 bit and i flash it. Ok, no problem.

BUT, with nbimg v1.1 you can chose to do 2 different splash screen 1st and 2nd, EVERYBODY think 2nd is AFTER R.G.D, is not.

Before that anybody on boot have only 1 splash screen, but if you do with nbimg v1.1 the second splash screen the first ORIGINAL splash screen will be SPLIT into 2 splash screen, AND AFTER THIS IS NO WAY BACK.

One beautiful day I try the second splash screen and now I got this crap.

Which problem I have now?

I can flash any stock/custom ROM from entire world via SDcard or pc but the second splash screen when show up the R.G.D don't go away.

I DON'T WANT MALGRD just to replace the picture.

Currently many application for change the splash screen work on phones which has never been flashed with nbimg v1.1.

Who did second splash screen with nbimg v1.1 have this problem.

Now I want have full sequence of this boot http://xdaforums.com/showthread.php?t=625911 but it not replace the second bloody splash screen.

This is the problem.

To the OWNER of this application, PLEASE, remove the option of the 2nd splash screen because that option make many victims!

So people, DO NOT EVER TRY THE SECOND SPLASH SCREEN WITH nbimg v1.1.
 

dmonium

Senior Member
Dec 27, 2007
362
267
nbimg.exe has stopped working

hi I'm trying to convert in BMP the orginal splah of HTC ONE but i get this error message

nbimg.exe has stopped working

this is the command

D:\Desktop>nbimg.exe -F splash1.nb -w 1080 -h 1920
=== nbimg v1.1
=== Convert NB <--> BMP splash screens
=== (c)2008 Pau Oliva - pof @ xda-developers

[] File: splash1.nb
[] Image dimensions: 1080x1920

D:\Desktop>

Could you help me with this?
thanks
 
M

Modding.MyMind

Guest
https://github.com/ModdingMyMind/Android_Splash_Image

Requires NBIMG/to565, BUSYBOX, and GM (GraphicsMagick)!

NBIMG/to565 and GM are all included in this repo. They have been statically compiled for ARM to work with PRE-JB devices as well as being in compliance with Android L (latest release).

-- Clone, or download Repo
-- Place binaries and script to /system/bin on your Android device
-- Set permissions to 755 (rwxr-xr-x)
-- Open Terminal then type and enter, SPLASH, to run the script.
-- Enter the root directory of where your image(s) are located as requested by the script
-- Enter your device resolution as requested by the script
-- Select either .img or .rle format
-- Check directory after completion, enjoy

Ok, so, what exactly does this script do? Valid question, so let me go ahead and answer this for you.

When you run the script it will ask where the image(s) are located on your device. It will check to see if the directory exists and if it doesn't it will let you know. This check is mainly there in case you made a typo (I recommend copying and pasting if this is a problem for you).

Next, it will ask for your device resolution so it will know what size to make the image. Again, it will check the info you tell it and if not correct it will ask you again.

The script will then ask you if you wish to convert the pictures to either "splash".img format or "splash".rle format. Pick your option.

Once the script has this information it will proceed to read the entire directory and take note of all the pictures. The pictures do not have to already be in .bmp format. They can be .jpg, .png, etc.

Important: The script will check for Busybox, gm, nbimg, and to565 as needed and if what is needed to run the script is not found it will inform you then abort.

After it takes note of all your images it will proceed to use GraphicsMagick to resize the images based on the info you gave it as well as convert it to .bmp or .raw. Afterwards, it will call on nbimg/to565 to convert the newly created .bmp/.raw image in to the properly formatted splash image whether it be .img or .rle based on the option you initially chose at the beginning.

It's rather simple but very useful when dealing with multiple images.

It doesn't take long for the process even if you are dealing with, say, 50 pictures lol.

When it is finished go to the directory and you will see the .img or .rle and picture for each. The picture is kept so you may view it through your gallery and determine if you will like it as your splash screen. If you do, then go to the .img or .rle file of that picture and rename it accordingly.

I won't go in to details on how to apply the images since I expect this to be used as assistance for devs out there - experience is expected in this case.

-- Happy Hunting! :D
 
Last edited:

GokulNC

Senior Member
Jan 10, 2015
826
1,440
Chennai
github.com
Thank you POF. This clarifies a few things actually.
Why don't you update Post 1 with some of these Infos? I think it'd save quite some folks quite some hassle.
I have read about similar problems like mine in a few places and i think if someone points out the missing info it does help a lot since many people don't manage to figure themselves.

Somehow i got this odd feeling that i am moving in a very old thread which hardly anyone still sees. Somehow i feel like there must be more advanced/better/easier methods to generate a Splashscreen somewhere on the forums.
Should i be bothered to keep investigating the mysteries of NBIMG? :eek: :D

If there is better ways which everyone is using nowadays please just someone put a link in here so people get redirected before they start messing here (like me ;) )

[EDIT]
Today i checked the nbh-function of NBimg again and it worked flawless this time (mind the -s argument!).
I attached a new guide which does the trick without using the HTC Rom Tool. Only downside i could discover so far: you can't set an individual String for "version" and no Language setting either with NBimg. Doesn't really matter cuz the only moment one can see that is just before the flash in the RUU. Only cosmetical.

Can you please help me making a splash screen??
I have a splash.img file of my phone with resolution 720x1280.
When I convert it back to bmp, the image is very much distorted..
How do I extract the correct image?
How do I find if the image is .nb or.nbh format?

Moreover, when I try to convert a bmp file to .nb, I get an error.
Code:
C:\Users\Gokul\Desktop>nbimg -F puma.bmp -w 720 -h 1280
=== nbimg v1.1
=== Convert NB <--> BMP splash screens
=== (c)2008 Pau Oliva - pof @ xda-developers

[] File: puma.bmp
[] No padding added. Check file size.
And nbimg.exe file crashes.
Help me please :)
 

Sneakyghost

Senior Member
Jul 24, 2008
8,314
13,595
InMyHead
Sorry it's been some time since I dealt with this tool. I have forgotten how to use it. I'd need to research it's correct parameters again myself. So, you'd probably be better off researching that yourself. I'm quite limited in my time these days.
 
  • Like
Reactions: GokulNC

Top Liked Posts

  • There are no posts matching your filters.
  • 27
    nbimg is a command line tool which allows to convert HTC Splash Screen images from NB to BMP and create NB splash screens from BMP format. Any splash screen size is supported (yes, it works for Diamond or Athena at 640x480 resolution too).

    Code:
    === nbimg v1.1
    === Convert NB <--> BMP splash screens
    === (c)2008 Pau Oliva - pof @ xda-developers
    
    Usage: nbimg -F file.[nb|bmp]
    
    Mandatory arguments:
       -F <filename>    Filename to convert.
                        If the extension is BMP it will be converted to NB.
                        If the extension is NB it will be converted to BMP.
    
    Optional arguments:
       -w <width>       Image width in pixels. If not specified will be autodetected.
       -h <height>      Image height in pixels. If not specified will be autodetected.
       -t <pattern>     Manually specify the padding pattern (usually 0 or 255).
       -p <size>        Manually specify the padding size.
       -n               Do not add HTC splash signature to NB file.
       -s               Output smartphone format.
    
    NBH arguments:      (only when converting from BMP to NBH)
       -D <model_id>    Generate NBH with specified Model ID (mandatory)
       -S <chunksize>   NBH SignMaxChunkSize (64 or 1024)
       -T <type>        NBH header type, this is typically 0x600 or 0x601

    Example to convert a NB to BMP:
    Code:
    $ ./nbimg.exe -F diamond137.nb
    === nbimg v1.1
    === Convert NB <--> BMP splash screens
    === (c)2008 Pau Oliva - pof @ xda-developers
    
    [] File: diamond137.nb
    [] Image dimensions: 480x640
    [] Encoding: diamond137.nb.bmp
    [] Done!

    Example to convert a BMP to NB:
    Code:
    $ ./nbimg.exe -F diamond137.bmp
    === nbimg v1.1
    === Convert NB <--> BMP splash screens
    === (c)2008 Pau Oliva - pof @ xda-developers
    
    [] File: diamond137.bmp
    [] Encoding: diamond137.bmp.nb
    [] Image dimensions: 480x640
    [] Done!

    Download
    Windows version attached to this post.
    Linux version and source code available in my blog.
    2
    @Sneakyghost: the '-s' flag is only for use in old non-touchscreen phones (example: htc vox, htc wings...). Now we call everything a "smartphone", but HTC made a difference between "smartphones" and "PocketPC phones" a few years ago when I wrote this tool :) In modern phones, like HTC Leo, you should not use the '-s' flag.
    1
    This has nothing to do with OS side. You need to create a NBH file for your device, with the NB splash screen inside, and flash it to replace the bootscreen.
    1
    I am also trying to get something simular done, but I am looking for the application to make the .nbh file. I did get a copy of htcrt.exe but it doesnt have the LEO inside, when I try to update it says I have an internet connection issue (I dont, I am posting now then ;)

    I only got my HD2 2 days ago and this is all new to me. I have managed to flash custom radio's and ROMS's but now I want to make my own boot screen and flash that.

    Please help.

    Here are the LEO XML Details for NBHUtil XML.

    <device name="Leo" chunksize="64">
    <ModelID>PB8110000</ModelID>
    <CID>HTC__E11</CID>
    <Ver>1.43.leo</Ver>
    <Lang>WWE</Lang>
    <Item value="0x200">SPL</Item>
    <Item value="0x301">Radio</Item>
    <Item value="0x400">OS</Item>
    <Item value="0x500">Diag</Item>
    <Item value="0x600">Splash</Item>
    </device>

    If you are using HTCRT.exe then you should search for same parameters in ini format. :)
    1
    Mac version

    Here's a compiled version of nbimg for OS X. I compiled this on an Intel-mac running Leopard (10.5). I can't guarantee it will work anywhere else, but I think it should.

    Of course if you don't trust my compile, people can compile for Mac using the following command after downloading the Linux source code:

    gcc -o nbimg nbimg.c