#r #image #base64
#r #изображение #base64
Вопрос:
Как мне построить строку b64 в формате png или jpeg в виде изображения в R?
Я пробовал:
z <-"/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/wAALCAAgACABAREA/8QAGAABAQEBAQAAAAAAAAAAAAAABQYDBAH/xAAjEAABBQEAAgMBAQEBAAAAAAACAQMEBQYHCBIRExQhACJB/9oACAEBAAA/ABMfwnJcK0WrucdoMdrtpQ3IQOm VPVq49RGh6AvT2qcjUGhrY2jZChASC4X/BtkSo4yiadt3/R6/esuXXbvKuv0QwGJ05nWeR b5bOeJ1FNHQysaHPkQWFD1JBmI2oi4Psif34e028heSoUhdBl3/VW2oci1zlq45SMdUzIVrLDkmfk9bQOHWaNYJG 8/AL6pifSBqyXqgrJdA65t L9tY8go8 DovILx6q6zR6PQ0kT8MHyP5RYE2w1dfQKKJSo4E2y RCotfDa/YZxWxbodE9FpbsmMTH0 Z5/wAqc0HOuXu5 PFWwoM9QJHZ0uir3iJWiv763mQ6uHLFv3bOa44vyY y8kORouc1TtDB04U8CsfVJldkpUhioZdE1Rx1pv7BGSRKKiE2ar8 Y36yJEpP0JDhetY6Vodva2RvpX3E52JMeuiMnJVbbtSBZp57xOL9rr8KW/ElsOPKTwshIj/P45rrH W4llarZ9s5dBbWozWH3cno YkU0WHHYars1o f1m0Ko9mhAVjQbCylI2Px8ChfH8 P8BxDMWuL4hyqIyFnf7nBxehZqRQR40mUsvSZroVXtXKhFbE1GXNra6UjSKnsZNin9/n 2TNP5Dn0 wSQzos3GajPPzHHxZh2FO6CBUWThGiMsMS4wMSo7j6g197kiJ7frhOsKJn7HPdmsnIUXQJfrKivJLqchOiTbFpgvkHXh HCWIIoXqk w/PXw1UJLkgijpCmM3s6drqD8GMh5vRdF7HH0HPeZrRQZCQr650LjA6nTwzNRfaoaeqhRKqFJ9V924JuKKB7KND0HqWP7RxVvyFYmz894/8AkHY1mh1N/n4yzp3jd1mvRtlq7/MPwYxZB jb5KKG8htl9gJIZF2W0e2meOEOjf6HLzvLSGRJtMtcoN1Ycl0L1jIjm/Pyeqz7rdpmlnCEl1 CiuQyR1DJkPYQFvtO85kOEhrb9s8V5OXWeFnYhrPITWdgYjl6GSSGcuEaHHlviZeyDNF5PYU9kX/3pz3jzre35faaDP3OxwXP9PVJD6t5SdcghnLK5pPltFqMtTl6pXVTwkKt/AgJIf1KSKy0B//Z";
plot(c(100, 250), c(300, 450), type = "n", xlab = "", ylab = "")
image <- as.raster(base64decode(z))
rasterImage(image, 100, 300, 150, 350, interpolate = FALSE)
plot.new()
Я не могу использовать дополнительные библиотеки.
Комментарии:
1. Когда вы говорите, что невозможно использовать дополнительные библиотеки, это ничего не значит или вы можете использовать
base64enc
, как предлагает функция в вашем коде?2. Извините за путаницу. Да, я могу использовать библиотеку base64enc.
3. Подумайте о чем-то вроде
writeBin(base64decode(z), "test.png")
записи временного файла, а затем прочитайте его.4. Это JPEG (
ff d8 ff
в первых нескольких необработанных байтах), поэтому вы также должны иметь возможность использовать этот пакет :plot(c(100, 250), c(300, 450), type = "n", xlab = "", ylab = "") ; rasterImage(as.raster(jpeg::readJPEG(base64enc::base64decode(z))), 100, 300, 150, 350, interpolate=FALSE)
. Нет необходимости во временных файлах.