Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================
- # .picasa.ini FILE STRUCTURE
- #
- # reverse-engineered by Franz Buchinger <fbuchinger@gmail.com>
- # licensed to the public domain
- #
- # Picasa Version(s): 3.8.0
- #
- # Changelog:
- # v0.1: initial release
- # ==============================================================
- #---------------------------------------------------------
- # 1. Picasa Section
- #
- # The picasa section contains album-related metadata.
- # Obviously, it is only present if the image folder was
- # converted to a picasa album or if it was created during
- # an import of images from a digital camera.
- #---------------------------------------------------------
- [Picasa]
- # the name of the album
- name=Foo Bar birthday
- # category: "Folders on Disk" for local albums
- category=Folders on Disk
- #if album was downloaded from picasa web albums, a key in this format
- # is stored
- P2category=Downloaded Albums~otheruserid
- #if the album was uploaded, the username and album id are referenced in this format: <picasa user name>_lh=<picasa web album id>
- joedoe_lh=5620038667642797505
- #-------------------------------------------------------------
- # 2.1 Contacts Section
- #
- # the contacts section matches the recognized faces of
- # persons to the contacts of the picasa user.
- # format <person_id>=<picasa user name>_lh,<picasa contact id>
- # TODO: what about not-yet confirmed or unidentified faces
- #--------------------------------------------------------------
- [Contacts]
- d10a8325c557b085=joedoe_lh,cb989580bc43a91
- 8e62398ebda8c1a5=joedoe_lh,4bd750800fb6a6b8
- d736528ba71f2254=joedoe_lh,6dc6a330c4804e8
- # 2.2 Contact2 Section
- #
- # the contacts2 section is similar to the normal contact section
- # (see above), but will only appear when you don't sync your
- # contact to your Google account.
- # format <person_id>=<person name>
- #--------------------------------------------------------------
- [Contacts2]
- e32c49663dba60c4=John Doe;;
- #---------------------------------------------------------------
- # 3. Photo Entries
- #
- # each photo found in the current directory gets one ini section
- # in the file, named after its filename. depending on the file
- # type (jpeg vs camera raw), different metadata is stored in the
- # section.
- #----------------------------------------------------------------
- [P7025200.ORF]
- # 3.1 BASIC METADATA
- #added if image was starred in picasa
- star=yes
- #caption entered in picasa
- #(only added for non-jpeg photos, stored as IPTC Caption for jpeg photos)
- caption=dummy
- #keywords assigned in picasa
- #(only added for non-jpeg photos, stored as IPTC Keywords for jpeg photos)
- keywords=beer,empanadas,keyword with spaces
- #backuphash - not yet decoded
- backuphash=36003
- #if the pictures of the album have been uploaded
- # a key/value pair in the format IIDLIST_<picasa user name>_lh=<64-bit hexadecimal photo id>
- # is added to each photo entry.
- IIDLIST_joedoe_lh=4dfe636c9cf4c302
- # 3.2 FILTER SETTINGS
- # all applied filters per photo are recorded to .picasa.ini
- # to provide an editing history and/or an easier undo facility.
- # Basic filter key format:
- # the filters key of each photo stores a semicolon-separated list of filter entries:
- filters=enhance=1;crop64=1,45930000ba03defe;
- # each entry follows the format
- # <filter identifier>=1,<filter value 1>,<filter value 2>,<..filter value n>;
- # Here is a list of valid filter identifiers
- #
- #|--Identifier-|--------------Parameters-------------|----------Description-----------|---------Example---------------|
- #| crop64 | CROP_RECTANGLE* | crop filter, crops the image | crop64=1,30a730d2bf1ab897 |
- #| | | according to crop rectangle | |
- #| tilt | !TILT_ANGLE,!SCALE | tilts and scales image | tilt=1,0.280632,0.000000 |
- #| redeye | | redeye removal | redeye=1 |
- #| enhance | | "I'm feeling lucky" enhancement| enhance=1 |
- #| autolight | | automatic contrast correction | autolight=1 |
- #| autocolor | | automatic color correction | autocolor=1 |
- #| retouch | | retouch | retouch=1 |
- #| finetune2 | (unidentified params) | finetuning (brightness, | finetune2=1,0.000000,0.000000,|
- #| | |highlights, shadows,color temp) | 0.000000,fff7f5f3,0.000000; |
- #| unsharp2 | !AMOUNT | unsharp mask filter | unsharp2=1,0.600000; |
- #| sepia | | sepia filter (no params) | sepia=1 |
- #| bw | | black/white filter (no params) | bw=1 |
- #| warm | | warming filter (no params) | bw=1 |
- #| grain2 | | film grain filter (no params) | grain2=1 |
- #| tint |!!PRESERVE_COLOR ,#TINT COLOR | tint filter | tint=1,79.842102,ffff |
- #| sat |!SATURATION | saturation filter | sat=1,0.161800; |
- #| radblur |!MOUSE_X,!MOUSE_Y,!SIZE,!AMOUNT | radial blur | radblur=1,0.500000,0.500000, |
- #| | | | 0.239766,0.146199; |
- #| glow2 |!INTENSITY,!!RADIUS | glow effect | glow2=1,0.650000,3.000000; |
- #| ansel |#COLOR | filtered black/white | ansel=1,ffffffff; |
- #| radsat |!MOUSE_X,!MOUSE_Y,!RADIUS,!SHARPNESS | radial saturation | radsat=1,0.421652,0.594697, |
- #| | | | 0.333333,0.309942; |
- #| dir_tint |!MOUSE_X,!MOUSE_Y,!GRADIENT,!SHADOW | directed gradient | dir_tint=1,0.306743,0.401515, |
- #| | | | 0.250000,0.250000,ff5bfff3; |
- #
- # LEGEND:
- # ! = float between 0 and 1, precision:6
- # !! = float with arbitrary range, precision:6
- # # = 32-bit color in hex notation, e.g.: fff7f5f3
- # [] = crop rectangle
- # 3.3 TEXT EDITS
- text=1;136;11;sample text;Aharoni;0.279301,0.503929,0.033333,0.000000;v1,4294967295,4278190080,128.000000,1.000000,0.364486,0.878906,700,258,49152;;
- textactive=1
- # 3.4. RECOGNIZED FACES
- # all recognized faces are stored as bigint crop rectangles in the faces key
- # format faces=rect64(CROP_RECTANGLE*), contact_id;
- faces=rect64(3f845bcb59418507),8e62398ebda8c1a5;rect64(9eb15e89b6b584c1),d10a8325c557b085
- #
- # APPENDIX
- #
- # A.1 DATA TYPES
- # A.1.1 CROP BOX RECTANGLES (*)
- # Picasa uses a special string format to store crop boxes of
- # detected faces and from an applied crop filters. The number encased
- # in the rect64() statement is a 64 bit hexadecimal number:
- # rect64(3f845bcb59418507)
- # break this number into 4 16-bit numbers by using substrings:
- # '3f845bcb59418507'.substring(0,4) //"3f84"
- # '3f845bcb59418507'.substring(4,8) //"5bcb"
- # '3f845bcb59418507'.substring(8,12) // "5941"
- # '3f845bcb59418507'.substring(12,16) // "8507"
- # convert each obtained substring to an integer and divide it
- # by the highest 16-bit number (2^16 = 65536), which should give 0 < results < 1.
- # these are the relative coordinates of the crop rectangle (left,top,right,bottom):
- # parseInt("3f84",16)/65536 //0.24810791015625 - left
- # parseInt("5bcb",16)/65536 //0.3585662841796875 - top
- # parseInt("5941",16)/65536 //0.3486480712890625 - right
- # parseInt("8507",16)/65536 //0.5196380615234375 - bottom
- # for absolute coordinates, multiply the left/right coordinates with
- # the image width and the top/bottom coordinates with the image height
- # A.1.2 FRACTIONAL FLOATS (!)
- # floats between 0 and 1 with a precision of 6 digits, e.g. 0.306743.
- # Often used to encode relative settings or mouse positions.
- # A.1.3 FLOATS (!!)
- # arbitrary floats with a precision of 6 digits
- # A.1.4. COLORS (#)
- # colors are stored as 32-bit hex string, e.g. ff5bfff3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement