Welcome guest, is this your first visit? Click the "Create Account" button now to join.
Page 6 of 6 FirstFirst ... 456
Results 51 to 58 of 58
  1. #51
    Important User

    osiris4isis's Avatar
    Join Date
    Apr 2012
    Location
    Farside of the Sun
    Posts
    2,645
    Rep Power
    638

    Default

    The following instructions is simplified to work with only one PNG bitmap used for logo; the replaced bitmap must be same resolution as original
    Spoiler: .

    1. Use a hex editor and load your .bin file containing the logo
    2. Search for first occurrence of the string "PNG" and look for hex 89 before it, then position your cursor there (\89PNG is a PNG header or start of image)
    3. Go 15 bytes backward and the next 4 octets is size of image; if you check the filesize of the extracted PNG from original .bin, this value will be here
    4. Use a image editor and shrink your image down to less than original size (one way to do this is to convert to JPG, saved with lower compression level and convert back to PNG until the size is less than original PNG filesize)
    5. Put the 4 octets representing the size of your new image at position in step 3
    6. Use a hex editor and open your new PNG image, copy entire data into buffer
    7. Go to start of image of original .bin (from step 2) and paste overwrite not insert
    8. Make sure the octets after new image until end of old image is 0's (since your new data should be less than original data) Never change any data beyond the size of original image. This step is optional and just made it cleaner but not needed since the size of PNG image is already specified from step 5.

    Here is example of what I did:
    original .bin
    Code:
    Please Login or Register to see the links
    modified .bin
    Code:
    Please Login or Register to see the links
    Hint:
    C4DC0100 -> 0001DCC4 = 133,337 bytes = size of original bitmap
    1ED60100 -> 0001D61E = 120,350 bytes = size of new bitmap

    My hex editor is HxD

    The end tag for PNG is IEND<4 octets>, such as
    original .bin
    Code:
    Please Login or Register to see the links
    modified .bin
    Code:
    Please Login or Register to see the links
    So each PNG is \89PNG...<data>...IEND<4 octets> but you only need to know that if there are more than one images in .bin
    The 4 octets after IEND is CRC32 for PNG
    Last edited by osiris4isis; 29th March 2016 at 09:38.

  2.    Advertissements


  3. #52
    Member
    Join Date
    Mar 2016
    Location
    Taiwan
    Posts
    14
    Rep Power
    0

    Default

    Sorry for my stupid, i could not understand it.

    I tried to find png by using original 16.bin and could not see "C4 DC 01 00" which you show and

    C4DC0100 -> 0001DCC4 what does it mean?


    Quote Originally Posted by osiris4isis View Post
    The following instructions is simplified to work with only one PNG bitmap used for logo; the replaced bitmap must be same resolution as original
    Spoiler: .

    1. Use a hex editor and load your .bin file containing the logo
    2. Search for first occurrence of the string "PNG" and look for hex 89 before it, then position your cursor there (\89PNG is a PNG header or start of image)
    3. Go 15 bytes backward and the next 4 octets is size of image; if you check the filesize of the extracted PNG from original .bin, this value will be here
    4. Use a image editor and shrink your image down to less than original size (you can convert to JPG, saved with lower compression level and convert back to PNG until the size is less than original PNG filesize)
    5. Put the 4 octets representing the size of your new image at position in step 3
    6. Use a hex editor and open your new PNG image, copy entire data into buffer
    7. Go to start of image of original .bin (from step 2) and paste overwrite not insert
    8. Make sure the octets after new image until end of old image is 0's (since your new data should be less than original data) Never change any data beyond the size of original image. This step is optional and just made it cleaner but not needed since the size of PNG image is already specified from step 5.

    Here is example of what I did:
    original .bin
    Code:
    Please Login or Register to see the links
    modified .bin
    Code:
    Please Login or Register to see the links
    Hint:
    C4DC0100 -> 0001DCC4 = 133,337 bytes = size of original bitmap
    1ED60100 -> 0001D61E = 120,350 bytes = size of new bitmap

    My hex editor is HxD

    The end tag for PNG is IEND<4 octets>, such as
    original .bin
    Code:
    Please Login or Register to see the links
    modified .bin
    Code:
    Please Login or Register to see the links

  4. #53
    Important User

    osiris4isis's Avatar
    Join Date
    Apr 2012
    Location
    Farside of the Sun
    Posts
    2,645
    Rep Power
    638

    Default

    The bitmap size is stored in little-endian format, so you have to reversed the 4 octets to get value. Lets say if I want to store number=123456 which is 1E240, but will be stored as 40E201. You don't find PNG by using its filesize (which you would not know initially), you find it by searching for \89PNG (read my instruction again!)
    Last edited by osiris4isis; 29th March 2016 at 09:30.

  5. #54
    Garmin/GPS Systems GMod.

    Neil's Avatar
    Join Date
    Aug 2011
    Location
    Oz.
    Posts
    7,400
    Rep Power
    1434

    Default

    @aspireryan
    Maybe it will help you to understand if said in very basic terms with an image to illustrate the process.

    Osiris means that you need to reduce the new image to be at least equal or less than the size of the existing one. Your 'Ford' bitmap is 122,052 bytes and the [shrunk] Lexus one is 120,350 bytes. When you find 'PNG' in plain text in a hex editor, it is shown as '50 4E 47' in hexadecimal, on the plain text side there will be a meaningless symbol just before PNG which is '89' in hex:

    logo hex

    So starting on the left of '89', count back 15 bytes [squares] then you will be at 'C4' and 'the 4 octets is size of image' means you take 'C4DC0100' and then reverse to get '0001DCC4' and that when converted to decimal will disclose the size of the previously loaded Ford image, which i find to be 122,052 bytes and that tallies with the size disclosed in the image's Windows' properties [133,337 bytes or '0208D9' coincidentally is the size of the 'lexus2.png' which you supplied so maybe that's a typo rather than one of my usual cock-ups ]. However, i do convert '0001D61E' as 120,350 bytes which is what Osiris has for the new reduced Lexus image to make it less than the original Ford one.

    Of course if you're not so comfortable using a hex editor, you can easily and visually check the image size by opening the logo bin file in GIR_Editor and a tmp.png file will be saved automatically in the bin file's same directory for you to then easily check its size by right click > Properties.

    An easy online hex > dec converter, there's lots of them around:
    Code:
    Please Login or Register to see the links
    'Thanking Posts' are banned. To thank someone, and/or to see hidden links and content, use the [Only registered and activated users can see links. ] button below left of the helpful post then refresh your browser [F5 key]. 'Thanking Posts' are banned.
    Please don't spam. Posts serving no purpose other than to thank or to ask about hidden links are trashed or deleted, it's GPSPower's policy. Please don't spam.
    [Only registered and activated users can see links. ] should make their first post as a new Intro Thread in [Only registered and activated users can see links. ].

  6. #55
    Important User

    osiris4isis's Avatar
    Join Date
    Apr 2012
    Location
    Farside of the Sun
    Posts
    2,645
    Rep Power
    638

    Default

    Thanks mate, picture is thousand words. One more addition, if you going to check size via Window Property of a file, use "Size:" and not "Size on disk:"
    Some posts moved here from [Only registered and activated users can see links. ].
    Last edited by Neil; 29th March 2016 at 22:24. Reason: add mod note.

  7. #56
    Member
    Join Date
    Mar 2016
    Location
    Taiwan
    Posts
    14
    Rep Power
    0

    Default

    Dear neil & Osiris
    Thanks for you teaching, Now i have seem to know how to change pictures

    I will tried to do one for test if i fail, i will write the original 16.bin back to nuvicam.
    Thanks a lot, two mates

  8. #57
    Junior Member
    Join Date
    Jul 2016
    Location
    Canada
    Posts
    1
    Rep Power
    0

    Default

    I would like a dodge splash logo for a garmin 2599 do you have one?

  9. #58
    Garmin/GPS Systems GMod.

    Neil's Avatar
    Join Date
    Aug 2011
    Location
    Oz.
    Posts
    7,400
    Rep Power
    1434

    Default

    @Ken Calcutt
    It's unlikely one has been made so post your original 16.bin and a copy of the image you want. We'll then make you a replacement logo to flash.
    'Thanking Posts' are banned. To thank someone, and/or to see hidden links and content, use the [Only registered and activated users can see links. ] button below left of the helpful post then refresh your browser [F5 key]. 'Thanking Posts' are banned.
    Please don't spam. Posts serving no purpose other than to thank or to ask about hidden links are trashed or deleted, it's GPSPower's policy. Please don't spam.
    [Only registered and activated users can see links. ] should make their first post as a new Intro Thread in [Only registered and activated users can see links. ].

 

 
Page 6 of 6 FirstFirst ... 456

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.