je sais qu'il exisste une méthode pour placer dans du html, une image
sous forme de data par exemple, comme ceci :
<A HREF="http://www.framasoft.net/mot17.html" ADD_DATE="1141644991"
LAST_VISIT="1143043625"
ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJS
AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTDBMSJg9G4NuKAAAAB3RJTUUH1AEXEhYx5zFw/AAA
AAlwSFlzAAAK8AAACvABQqw0mAAAADBQTFRFQkJCUlJSa2trc3NzjIyMlJSUnJycpaWltbW1
xsb/zs7O1tbW5+fn7+/v////////SxIgfQAAAE5JREFUeNpjmAkFDPPegcFLhnlvVwHBPSDj
TQBLWuI5IOPdA653j99BGe+gjDfrIAyOZXkQBksSlMH1Kg9dMZRxAcp4Y2zsBxGBWgpzBgCx
AlvUDJQxwQAAAABJRU5ErkJggg==" LAST_CHARSET="ISO-8859-1"
ID="rdf:#$2xvhM3">Mac OS X - Logiciels Libres - Framasoft</A>
mais au lieu de mettre ça dans un a href, je souhaite dans une image.
ce que je retrouve par programme est du style :
4d4d002a 00002774 ccaa64cc aa64cfad 67d0ae68
comment puis connaître le codage employé et/ou le format d'image (pour
info ca vient des images du Carnet d'adresse sur MAc OS X, j'utilise
simplement imageData sur une ABPerson)
def get_format( fi ) return IO.popen( "/usr/bin/sips -g format "#{fi}"" ).readlines[ 1 ].chomp.gsub( /s+format:s+([a-zA-Z]*)$/, '1' ) end def base64_encode( fi ) lines = "" IO.popen( "/opt/local/bin/base64 -e "#{fi}"" ).readlines.each { | x | lines << x } return lines.chomp end
def data_image( ab_img_dir ) photos = [ ] Dir.glob( "#{ab_img_dir}/*" ).each do | fi | fbn = File.basename( fi ) if ( File.ftype( fi ) === "file" ) && !( /.*.[a-zA-Z]{3,4}$/ == > fbn ) photos << "data:image/#{get_format( fi )};base64,#{base64_encode( fi )}" end end return photos end
html_fi = "/Users/yt/work/RubyCocoa/AB2Html/image_data_new.html" html = "<html><body>" data_image( "/Users/yt/Library/Application Support/AddressBook/Images" ).each do | data_img | html << "<img src='#{data_img}' /><br />" end html << "</body></html>"
File.open( html_fi, File::WRONLY|File::TRUNC|File::CREAT, 0666 ) { | f | f.puts html }
def get_format( fi )
return IO.popen( "/usr/bin/sips -g format "#{fi}"" ).readlines[ 1
].chomp.gsub( /s+format:s+([a-zA-Z]*)$/, '1' )
end
def base64_encode( fi )
lines = ""
IO.popen( "/opt/local/bin/base64 -e "#{fi}"" ).readlines.each { | x
| lines << x }
return lines.chomp
end
def data_image( ab_img_dir )
photos = [ ]
Dir.glob( "#{ab_img_dir}/*" ).each do | fi |
fbn = File.basename( fi )
if ( File.ftype( fi ) === "file" ) && !( /.*.[a-zA-Z]{3,4}$/ == > fbn )
photos << "data:image/#{get_format( fi )};base64,#{base64_encode(
fi )}"
end
end
return photos
end
html_fi = "/Users/yt/work/RubyCocoa/AB2Html/image_data_new.html"
html = "<html><body>"
data_image( "/Users/yt/Library/Application Support/AddressBook/Images"
).each do | data_img |
html << "<img src='#{data_img}' /><br />"
end
html << "</body></html>"
File.open( html_fi, File::WRONLY|File::TRUNC|File::CREAT, 0666 ) { | f |
f.puts html }
def get_format( fi ) return IO.popen( "/usr/bin/sips -g format "#{fi}"" ).readlines[ 1 ].chomp.gsub( /s+format:s+([a-zA-Z]*)$/, '1' ) end def base64_encode( fi ) lines = "" IO.popen( "/opt/local/bin/base64 -e "#{fi}"" ).readlines.each { | x | lines << x } return lines.chomp end
def data_image( ab_img_dir ) photos = [ ] Dir.glob( "#{ab_img_dir}/*" ).each do | fi | fbn = File.basename( fi ) if ( File.ftype( fi ) === "file" ) && !( /.*.[a-zA-Z]{3,4}$/ == > fbn ) photos << "data:image/#{get_format( fi )};base64,#{base64_encode( fi )}" end end return photos end
html_fi = "/Users/yt/work/RubyCocoa/AB2Html/image_data_new.html" html = "<html><body>" data_image( "/Users/yt/Library/Application Support/AddressBook/Images" ).each do | data_img | html << "<img src='#{data_img}' /><br />" end html << "</body></html>"
File.open( html_fi, File::WRONLY|File::TRUNC|File::CREAT, 0666 ) { | f | f.puts html }
Un petit test avec une URL data pour une feuille de styles CSS : <http://www.noiraude.net/essai/datastylesheet>
Firefox2, ça fonctionne,
Ha! C'est trop ! ça.
Et comment puis-je attacher à une url extérieure ma css ? ou y adjoindre ce truc-data ?
-- sm
Olivier Miakinen
Le 06/02/2008 13:46, SAM répondait à Lea GRIS :
Un petit test avec une URL data pour une feuille de styles CSS : <http://www.noiraude.net/essai/datastylesheet>
Firefox2, ça fonctionne,
Exemple avec une image : http://www.webstandards.org/files/acid2/test.html
Je crois que cette syntaxe en particulier fonctionne dans Firefox, mais là il est difficile de s'en rendre compte car il y a quelques petits trucs qui ne fonctionnent pas (cela dit, c'est encore pire dans IE).
Ha! C'est trop ! ça.
Et comment puis-je attacher à une url extérieure ma css ? ou y adjoindre ce truc-data ?
Tu veux dire utiliser le système dans une CSS ? L'exemple est dans le lien fourni par Pierre : http://en.wikipedia.org/wiki/Data:_URI#CSS
Le 06/02/2008 13:46, SAM répondait à Lea GRIS :
Un petit test avec une URL data pour une feuille de styles CSS :
<http://www.noiraude.net/essai/datastylesheet>
Firefox2, ça fonctionne,
Exemple avec une image :
http://www.webstandards.org/files/acid2/test.html
Je crois que cette syntaxe en particulier fonctionne dans Firefox, mais
là il est difficile de s'en rendre compte car il y a quelques petits
trucs qui ne fonctionnent pas (cela dit, c'est encore pire dans IE).
Ha! C'est trop ! ça.
Et comment puis-je attacher à une url extérieure ma css ?
ou y adjoindre ce truc-data ?
Tu veux dire utiliser le système dans une CSS ? L'exemple est dans le
lien fourni par Pierre :
http://en.wikipedia.org/wiki/Data:_URI#CSS
Un petit test avec une URL data pour une feuille de styles CSS : <http://www.noiraude.net/essai/datastylesheet>
Firefox2, ça fonctionne,
Exemple avec une image : http://www.webstandards.org/files/acid2/test.html
Je crois que cette syntaxe en particulier fonctionne dans Firefox, mais là il est difficile de s'en rendre compte car il y a quelques petits trucs qui ne fonctionnent pas (cela dit, c'est encore pire dans IE).
Ha! C'est trop ! ça.
Et comment puis-je attacher à une url extérieure ma css ? ou y adjoindre ce truc-data ?
Tu veux dire utiliser le système dans une CSS ? L'exemple est dans le lien fourni par Pierre : http://en.wikipedia.org/wiki/Data:_URI#CSS
SAM
Olivier Miakinen a écrit :
Et comment puis-je attacher à une url extérieure ma css ? ou y adjoindre ce truc-data ?
Tu veux dire utiliser le système dans une CSS ? L'exemple est dans le lien fourni par Pierre : http://en.wikipedia.org/wiki/Data:_URI#CSS
Non,non, utiliser le truc data pour appliquer une css à la page appelée (le site du PHP ne me met pas les exemples dans la police que je préfère)