【问题标题】:div with an image and link to download selected image带有图像的 div 和下载所选图像的链接
【发布时间】:2017-01-03 09:49:20
【问题描述】:

我想在下载到桌面时看到图像。我可以将 div 转换为带有狗图像的图像,但我似乎无法下载带有狗图像的图像。为什么会这样?有人可以帮我找到解决方案吗?这里是实时取景http://torcdesign.com/banana/

$(document).ready(function() {
  $('#imajes').change(function() {
    $('.subselector').hide();
    $('.smallimages').hide();
    $('#' + $(this).val()).show();
	
  });
  
    $('.smallimages').hide();
    var id = $(this).attr('id');
    var val = $(this).val();
	
	
$('#dog').on('change', function() {
  
  $("#bulldogimges").css('display', (this.value == 'bulldog') ? 'block' : 'none');


   $("#huntingdogimges").css('display', (this.value == 'huntingdog') ? 'block' : 'none');
   $("#germandogimges").css('display', (this.value == 'policedog') ? 'block' : 'none');
});

$('img').on('click', function() {
    $('#fotos').append('<div class="imgdrag"><img class="modal-content" src="' + $(this).attr('src')+ '"/></div>'); $('.imgdrag').draggable();
$('#fotos').droppable();
	           $('.modal-content').resizable();



});

  
  
});


var download = document.getElementById("download"),
		result = document.getElementById("previewImage");

function renderContent() {
    html2canvas(document.getElementById("firstshirt"), {
        allowTaint: true
    }).then(function(canvas) {
    		result.appendChild(canvas);
        download.style.display = "inline"; download.href = result.children[0].toDataURL();
    });
}

function downloadImage() {
		
}

document.getElementById("btn-Preview-Image").onclick = renderContent;
download.onclick = downloadImage
.container {background-color: transparent;
    width: 300px;
    height: 300px;
    border: 2px solid red;
    position: relative;
overflow: hidden;

/* Will stretch to specified width/height */
  background-size: 490px 500px;
  background-repeat: no-repeat;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.1/knockout-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" 
	src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js"></script>

<script src="https://rawgit.com/niklasvh/html2canvas/master/dist/html2canvas.min.js"></script>
<script src="https://hongru.github.io/proj/canvas2image/canvas2image.js"></script>

<script  
 src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script><script src="//cdnjs.cloudflare.com/ajax/libs/knockout/2.3.0/knockout-min.js"></script>
 <link rel="stylesheet"
href="https://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
  <script src="https://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
  <link rel="stylesheet"
 href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
 <script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js"></script>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<link href='https://fonts.googleapis.com/css?family=Philosopher' rel='stylesheet' type='text/css'>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="https://rawgit.com/niklasvh/html2canvas/master/dist/html2canvas.js"></script>
<script src="https://files.codepedia.info/uploads/iScripts/html2canvas.js"></script>

<select id="imajes">
        <option value="">Choose Image</option>
        
        <option value="dog">Dog</option>
        
    </select> 

<select id="dog" name="subselector" class="subselector" style="display:none">
  <option value="">Choose an item</option>
  <option value="bulldog">Bulldog</option>
  <option value="huntingdog">Hunting Dog</option>
  <option value="policedog">German Shepherd</option>
</select>
<div id="firstshirt" class="container" style="float:left;"><div id="fotos" ><img class="modal-content" id="imgdisplay" /></div></div>
<input id="btn-Preview-Image" type="button" value="Preview"/><a id="download" download="my_image.png" href="#">Download image</a>
<h3>result:</h3>
<div> <div id="previewImage">
    </div><a id="download" download="my_image.png" href="#">Download image</a></div>
    
    <div style='display:none;' id="bulldogimges" class="smallimages">
<div class="imgcontainerss" data-image="https://torcdesign.com/clipart/pT78gE6pc.gif">
    <img src="https://torcdesign.com/clipart/pT78gE6pc.gif" alt="Smiley face" width="55" height="55">
  </div>
<div class="imgcontainerss" data-image="https://torcdesign.com/clipart/LiKkRqkeT.gif">
    <img src="https://torcdesign.com/clipart/LiKkRqkeT.gif" alt="Smiley face" width="55" height="55">
  </div>
<div class="imgcontainerss" data-image="https://torcdesign.com/clipart/free-bulldog-clipart-031350.gif">
    <img src="https://torcdesign.com/clipart/free-bulldog-clipart-031350.gif" alt="Smiley face" width="55" height="55">
  </div>

 </div>

【问题讨论】:

  • 您的 downloadImage() 方法是一个空实现。它不包含任何语句。

标签: javascript jquery html css image


【解决方案1】:

您可以查看更新的代码:

我已经更新了下载图片按钮代码。

$(document).ready(function() {
  $('#imajes').change(function() {
    $('.subselector').hide();
    $('.smallimages').hide();
    $('#' + $(this).val()).show();
	
  });
  
    $('.smallimages').hide();
    var id = $(this).attr('id');
    var val = $(this).val();
	
	
$('#dog').on('change', function() {
  
  $("#bulldogimges").css('display', (this.value == 'bulldog') ? 'block' : 'none');


   $("#huntingdogimges").css('display', (this.value == 'huntingdog') ? 'block' : 'none');
   $("#germandogimges").css('display', (this.value == 'policedog') ? 'block' : 'none');
});

$('img').on('click', function() {
    $('#fotos').append('<div class="imgdrag"><img class="modal-content" src="' + $(this).attr('src')+ '"/></div>'); $('.imgdrag').draggable();
$('#fotos').droppable();
	           $('.modal-content').resizable();


$(".download").attr("href",$(this).attr('src'));
  $(".download").show();
});

  
  
});


var download = document.getElementById("download"),
		result = document.getElementById("previewImage");

function renderContent() {
    html2canvas(document.getElementById("firstshirt"), {
        allowTaint: true
    }).then(function(canvas) {
    		result.appendChild(canvas);
        download.style.display = "inline"; download.href = result.children[0].toDataURL();
    });
}

function downloadImage() {
		
}

document.getElementById("btn-Preview-Image").onclick = renderContent;
download.onclick = downloadImage
.container {background-color: transparent;
    width: 300px;
    height: 300px;
    border: 2px solid red;
    position: relative;
overflow: hidden;

/* Will stretch to specified width/height */
  background-size: 490px 500px;
  background-repeat: no-repeat;
}

.download{
display:none;  

}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.1/knockout-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" 
	src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.js"></script>

<script src="https://rawgit.com/niklasvh/html2canvas/master/dist/html2canvas.min.js"></script>
<script src="https://hongru.github.io/proj/canvas2image/canvas2image.js"></script>

<script  
 src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script><script src="//cdnjs.cloudflare.com/ajax/libs/knockout/2.3.0/knockout-min.js"></script>
 <link rel="stylesheet"
href="https://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
  <script src="https://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
  <link rel="stylesheet"
 href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
 <script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js"></script>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<link href='https://fonts.googleapis.com/css?family=Philosopher' rel='stylesheet' type='text/css'>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="https://rawgit.com/niklasvh/html2canvas/master/dist/html2canvas.js"></script>
<script src="https://files.codepedia.info/uploads/iScripts/html2canvas.js"></script>

<select id="imajes">
        <option value="">Choose Image</option>
        
        <option value="dog">Dog</option>
        
    </select> 

<select id="dog" name="subselector" class="subselector" style="display:none">
  <option value="">Choose an item</option>
  <option value="bulldog">Bulldog</option>
  <option value="huntingdog">Hunting Dog</option>
  <option value="policedog">German Shepherd</option>
</select>
<div id="firstshirt" class="container" style="float:left;"><div id="fotos" ><img class="modal-content" id="imgdisplay" /></div></div>
<input id="btn-Preview-Image" type="button" value="Preview"/><a class="download" id="download" download="my_image.png" href="#">Download image</a>
<h3>result:</h3>
<div> <div id="previewImage">
    </div><a id="download" class="download" download="my_image.png" href="#">Download image</a></div>
    
    <div style='display:none;' id="bulldogimges" class="smallimages">
<div class="imgcontainerss" data-image="https://torcdesign.com/clipart/pT78gE6pc.gif">
    <img src="https://torcdesign.com/clipart/pT78gE6pc.gif" alt="Smiley face" width="55" height="55">
  </div>
<div class="imgcontainerss" data-image="https://torcdesign.com/clipart/LiKkRqkeT.gif">
    <img src="https://torcdesign.com/clipart/LiKkRqkeT.gif" alt="Smiley face" width="55" height="55">
  </div>
<div class="imgcontainerss" data-image="https://torcdesign.com/clipart/free-bulldog-clipart-031350.gif">
    <img src="https://torcdesign.com/clipart/free-bulldog-clipart-031350.gif" alt="Smiley face" width="55" height="55">
  </div>

 </div>

【讨论】:

  • 它可以工作,但是一旦我将它与我的其他东西一起插入,我仍然会得到一个空白的 img
  • 这是一个网址,您可以看到我在说什么,非常抱歉stackoverflow.com/questions/41435701/…
  • 您需要将 href 分配给下载链接。以上问题暂时搁置。所以我无法回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-02
  • 1970-01-01
  • 2012-12-03
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多