W mojej aplikacji muszę podać przycisk "zapisz jako obraz". Chcę zapisać html renderowany na mojej stronie jako obraz w javascript. Załóżmy, że mam trochę html i po kliknięciu "zapisz jako obraz" ten html powinien zostać zapisany jako obraz.javascript jak zapisywać html renderowane na stronie jako obraz
Odpowiedz
Zapoznaj się z html2canvas. Struktura javascript, która renderuje zawartość strony na elemencie canvas. Zapisywanie płótno jako obraz jest tak proste, jak:
var canvas = document.getElementById("mycanvas");
var img = canvas.toDataURL("image/png");
document.write('<img src="'+img+'"/>');
Twoje pytanie jest bardzo niekompletne. Po pierwsze, czy jest to aplikacja mobilna czy komputerowa? W obu przypadkach rozwiązanie twojego problemu będzie silnie zależało od silnika HTML, który renderuje strony: Webkit, Geko/Firefox, Trident/IE mają na przykład własną metodę tworzenia widoku, który chcesz zapisać jako obraz.
W każdym razie, można zacząć patrzeć na to, jak działa Wtyczka Firefox: https://addons.mozilla.org/it/firefox/addon/pagesaver/
Należy robić to, co chcesz, aby wdrożyć, poszukaj jego kodu źródłowego.
to aplikacja internetowa. Będą używane w przeglądarkach na komputery/tablety/telefony komórkowe. Chcę czegoś takiego jak zapisanie renderowanego HTML-a jako obrazu. Wouls udostępnia użytkownikowi przycisk, który zapisuje html na tej stronie jako obraz. dodatek nie wykona tego zadania zgodnie z moją wiedzą. – Bhavika
Korzystanie http://html2canvas.hertzen.com/
index.php
<style>.wrap{background:white;padding:0 0 16px 0;width:1500px;}.colour{width:1500px;position:relative;height:1400px;}p.footer{text-align:center;font-family:arial;line-height:1;font-size:28px;color:#333;}.wrap img{height:389px;width:389px;position:absolute;bottom:0;right:0;left:0;top:0;margin:auto;}p.invert{position:absolute;top:300px;left:0;right:0;text-align:center;display:block;font-family:arial;font-size:48px;padding:0 40px;filter:invert(0%);}p.inverted{-webkit-filter: invert(100%);filter:invert(100%);}</style>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="js/html2canvas.js"></script>
<script type="text/javascript" src="js/jquery.plugin.html2canvas.js"></script>
<?php // Open our CSV File
$colours = fopen('colours.csv', 'r');
// Reset Count
$i=0;
// Loop Through the Colours
while (($colour = fgetcsv($colours)) !== FALSE){
// Get the First Item and display some HTML
if($i==0){ ?>
<div id="target" class="wrap">
<div class="colour" style="background:<?php echo $colour[0]; ?>">
<img src="paragon2.png" alt="Image" />
<p class="invert inverted" style="filter:invert(100%);"><?php echo $colour[1]; ?></p>
</div>
<p class="footer"><?php echo $colour[1]; ?></p>
</div>
<form method="POST" enctype="multipart/form-data" action="save.php" id="myForm">
<input type="hidden" name="img_val" id="img_val" value="" />
<input type="hidden" name="filename" id="filename" value="<?php echo $colour[0].".png"; ?>" />
</form>
<?php } // Count
$i++;
} // Loop
// Close the CSV File
fclose($colours); ?>
<script type="text/javascript">
$(window).load(function() {
$('#target').html2canvas({
onrendered: function (canvas) {
$('#img_val').val(canvas.toDataURL("image/png"));
document.getElementById("myForm").submit();
}
});
});
</script>
save.php
<?php // Get the base-64 string from data
$filteredData=substr($_POST['img_val'], strpos($_POST['img_val'], ",")+1);
$filename=$_POST['filename'];
// Decode the string
$unencodedData=base64_decode($filteredData);
// Save the image
file_put_contents("IMG2/".$filename, $unencodedData);
// Open the CSV File
$file = fopen('colours.csv', 'r');
// Loop through the colours
while (($line = fgetcsv($file)) !== FALSE) {
// Store every line in an array
$data[] = $line;
}
// Remove the first element from the stored array
array_shift($data);
// Write remaining lines to file
foreach ($data as $fields){
fputcsv($file, $fields);
}
// Close the File
fclose($file);
// Redirect and start again!
header('Location:/') ; ?>
- 1. Wklej obraz z systemu na stronie HTML za pomocą javascript
- 2. JSF tagi nie są renderowane jako HTML
- 3. Renderuj HTML jako obraz
- 4. Jak zawrzeć obraz na stronie HTML obsługiwanej dynamicznie przez Prolog?
- 5. Jak uzyskać renderowane html (przetwarzane przez Javascript) w formancie WebBrowser?
- 6. Uruchamianie javascript po stronie jest w pełni renderowane
- 7. Jak wyciąć obraz/płótno HTML na pół przez javascript?
- 8. Jak zapisywać i zapisywać jako mp3 streaming online audio
- 9. Javascript-HTML - jak iterować przez wszystkie formularze na stronie?
- 10. Uzyskaj źródło html renderowane w javascript przy użyciu phantomjs
- 11. jquery dodaje HTML jest renderowane jako surowy tekst
- 12. Android, tekst/czcionki renderowane jako kwadraty
- 13. Jak wyświetlić lokalny obraz na stronie internetowej?
- 14. Rendering Highcharts canvas jako PNG na stronie
- 15. (Javascript) Konwertuj bajt [] na obraz
- 16. Jak ponownie użyć kodu HTML na każdej stronie html?
- 17. Jak zapisać obraz jako obraz?
- 18. Kodowanie MIME pliku PDF na stronie HTML
- 19. Renderowanie HTML + Javascript po stronie serwera
- 20. Szablony HTML w JavaScript? Bez kodowania na stronie?
- 21. Jak mogę dodać zmienną javascript do HTML obraz src tagu
- 22. Jak mają encje HTML na stronie asp.net?
- 23. Jak przekonwertować kod HTML witryny na obraz?
- 24. Wszystkie linki na stronie html?
- 25. Informacje o kontekstach Sharepoint na stronie HTML
- 26. Dołącz arkusz stylów xslt na stronie html
- 27. Jak utworzyć link do fiszki jako obraz?
- 28. Używanie clojurescript do renderowania sceny Three.js na stronie HTML
- 29. Dlaczego jest to renderowane jako lista "System.Web.Mvc.SelectListItem"?
- 30. Zdarzenie JavaScript na stronie odsyłającej
dla programu Firefox istnieje kilka dodatków. Oto jeden https://addons.mozilla.org/en-us/firefox/addon/screen-grab-with-online-upl/ –
dobrze pierwsze zapisywanie plików w ogóle na serwerze tak może być bez postback, ale musi być IFRAME obsługującym proces zapisu, ponieważ musisz przejść do serwera, zapisując ten tekst jako obraz, ale nie ma na to narzędzia, ale zapisując go jako plik pdf, istnieje narzędzie o nazwie ItextSharp, które pomoże Ci – Marwan