Potrzebuję konwertować obraz do adresu URL danych (osadzanie obrazu) w aplikacji Win dla HTML i potrzebuję adresu URL danych (osadzania obrazu) do obrazu.jak przekonwertować obraz do danych URI dla html z C#?
31
A
Odpowiedz
54
public static string GetDataURL(string imgFile)
{
return "<img src=\"data:image/"
+ Path.GetExtension(imgFile).Replace(".","")
+ ";base64,"
+ Convert.ToBase64String(File.ReadAllBytes(imgFile)) + "\" />";
}
+0
@Andrew: Podaj technicznie poprawną odpowiedź. – Ankur
21
Czy adres URL danych nie jest po prostu zakodowany w bazie obrazów 64?
To powinno wystarczyć.
var bytes = File.ReadAllBytes("C:\\somepath\\picture.png");
var b64String = Convert.ToBase64String(bytes);
var dataUrl = "data:image/png;base64," + b64String;
5
Jeśli używasz ASP.NET MVC, nieco ujawnił kod z Ankur's answer może być bardziej wygodnym:
public static string DataUriContent(this UrlHelper url, string path)
{
var filePath = HttpContext.Current.Server.MapPath(path);
var sb = new StringBuilder();
sb.Append("data:image/")
.Append((Path.GetExtension(filePath) ?? "png").Replace(".", ""))
.Append(";base64,")
.Append(Convert.ToBase64String(File.ReadAllBytes(filePath)));
return sb.ToString();
}
i wykorzystanie (tylko zastępując @Url.Content
z @Url.DataUriContent
):
<img src="@Url.DataUriContent("~/Path/To/Image/yourImage.png")"/>
Powiązane problemy
- 1. Jak przekonwertować plik: // uri do treści: // uri?
- 2. Obraz Uri do bytesarray
- 3. Node.js base64 kodują pobrany obraz do użycia w URI danych
- 4. Jak przekonwertować kod HTML witryny na obraz?
- 5. Jak przekonwertować obraz z np.uint16 do np.uint8?
- 6. Javascript: Animowany GIF do URI danych
- 7. Jak przekonwertować json obiektu danych HTML
- 8. html do jpg z C#
- 9. Jak przekonwertować obraz base64?
- 10. jak przekonwertować C# do C++
- 11. Unieruchamiana strona URI danych
- 12. Android: jak przekonwertować cały obraz do bitmapy?
- 13. Jak mogę przekonwertować obraz url do system.drawing.image
- 14. Jak przekonwertować obraz do określonego rozmiaru pliku?
- 15. Uri dla bitmapy w podfolderze (C# wpf)
- 16. Konwersja Uri String i String do Uri
- 17. Użycie danych URI SVG jako obraz tła CSS
- 18. Jak przekonwertować HTML do MarkDown wC#?
- 19. Jak załadować obraz z Picasa z identyfikatora URI?
- 20. Jak przekonwertować html do dokumentu w php
- 21. Jak przekonwertować LinearLayout na obraz?
- 22. Jak dodać atrybut HTML autouzupełniania danych do pomocnika HTML TextBoxFor?
- 23. Charset w danych URI
- 24. Jak przekonwertować tekst na obraz?
- 25. Jak przekonwertować tabelę html na pandasową ramkę danych
- 26. Jak przekonwertować ciąg base64 na obraz?
- 27. Renderuj HTML jako obraz
- 28. Dane URI vs. Binary w bazie danych
- 29. Jak skalować obraz (w formacie danych URI) w JavaScript (prawdziwe skalowanie, nie używając do stylizacji)
- 30. Jak przekonwertować stronę html na zdjęcie
Tytuł lepiej tłumaczy pytanie, jakie jest faktyczne pytanie. –
dzięki Jeff, mam wiele obrazów na dysku lokalnym, obrazy mają inny rozmiar, niektóre obrazy są duże, a niektóre obrazy małe, potrzebuję rozwiązania dla jakiegoś obrazu przekonwertować na HTML i używać w przeglądarce? – hashi