怎样在截屏得到的图片上做标记?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样在截屏得到的图片上做标记?相关的知识,希望对你有一定的参考价值。
1,首先用QQ截图快捷键"ctrl+Alt+k"。每个人的快捷键可能不一样,一般默认状态下是"ctrl+Alt+A"。用快捷键选中要截取的区域。2,在截图边区域看到下图重点标出的工具栏,这个工具栏,会在截取需要的区域后出现,不固定出现在那个位置,但是一定是有的。
3,工具栏中有哪些功能。第一第二个图标是框出重点。点击会出现让选择颜色和粗细,。
4,第三图标是箭头标志。看自己需要指向哪里。
5,第四,第五个图标是涂鸦和马赛克的作用。
6,第六,第七图标是文字和操作退一步。点击“A”图标,然后在你需要编写文字的区域像截图一样,框一下就好了。
7,第八是保存到本地,第九是保存到手机,第十是分享到社交,第十一是收藏到QQ。
8,,最后,一个是取消截图,一个是确定截图。 参考技术A 1、用美图秀秀软件,在上面添加图片、文字等
2、用PS软件在图片上加标记
美图秀秀软件电脑可以用,手机也可以用。可以添加标记,删除标记,美图等功能
PS是很多人的美工用的软件,此软件方便快捷,可以对图片进行各种修改,功能比较全面。 参考技术B 截屏的框拉出来以后 ,框子下面有按钮,直接用你需要的就可以了
如何在截屏前删除某些元素?
【中文标题】如何在截屏前删除某些元素?【英文标题】:How to remove certain elements before taking screenshot? 【发布时间】:2014-01-02 14:45:38 【问题描述】:我可以使用下面的示例代码截取页面截图:
html2canvas(document.body,
onrendered: function(canvas)
document.body.appendChild(canvas);
);
当我截取屏幕截图时,我不想成为页面的一部分? 我怎样才能防止它们成为屏幕截图的一部分。
我认为的一种方法是克隆元素然后删除元素,但是对克隆进行截图会出现白屏。这是我使用的代码:
html2canvas($(document.body).clone()[0],
onrendered: function(canvas)
document.body.appendChild(canvas);
);
【问题讨论】:
【参考方案1】:您可以为 <Printable/>
和 <NonPrintable/>
创建 HOC
,您可以使用 <NonPrintable><YourCoolComponent/></NonPrintable>
包装您的组件
这些子组件将被排除在外。
import React from "react"
interface INonPrintable
children: React.ReactChildren
/*
HOC - Printable which injects the printId to the React component
which gets us Printable Context to html2canvas => jsPDF
eg:
<Printable printId="about-you-print">
<PersonalInfo badEmail=badEmail />
<IdentityInfo />
<AdditonalInfo />
<AddressInfo
serviceAddress=serviceAddress
billingAddress=this.state.billingAddress
setBillingAddress=this.setBillingAddress
/>
</Printable>
*/
export default function Printable( printId = "", children, ...restProps )
return <div print-id=printId ...restProps>children</div>
/*
HOC - NONPrintable which injects the data-html2canvas-ignore to the React component
which gets us Printable Context to html2canvas => jsPDF
eg:
<NonPrintable style=display:"flex",justifyContent:'space-around'>
<Button
text="Print PDF using Own utility"
onClick=this.handlePrintPdf
/>
<Button
text="Print PDF using html2canvas + jsPDF"
onClick=this.handlePrintwithPDFjs
/>
</NonPrintable>
*/
export const NonPrintable = ( children, ...restProps ) =>
return <div data-html2canvas-ignore ...restProps>children</div>
【讨论】:
【参考方案2】:如果您不想使用属性,html2canvas 确实提供了删除元素的方法。例如:
html2canvas( document.body,
ignoreElements: function( element )
/* Remove element with id="MyElementIdHere" */
if( 'MyElementIdHere' == element.id )
return true;
/* Remove all elements with class="MyClassNameHere" */
if( element.classList.contains( 'MyClassNameHere' ) )
return true;
).then( function( canvas )
document.body.appendChild( canvas );
);
有关详细信息,请参阅html2canvas options。
【讨论】:
【参考方案3】:当我使用这个库时,我遇到了一个问题,即该库会下载我的应用程序中的所有图像,这会导致应用程序运行缓慢。我使用 ignoreElements 选项解决了这个问题。 这是我的代码:
var DropAreaElement= document.getElementById("123");
var config=
useCORS: true,
ignoreElements: function (element)
if (element.contains(DropAreaElement) || element.parentElement.nodeName =="HTML" || element == DropAreaElement || element.parentNode == DropAreaElement)
console.log("elements that should be taken: ", element)
return false;
else
return true;
;
html2canvas(DropAreaElement, config).then(function (canvas)
var imgBase64 = canvas.toDataURL('image/jpeg', 0.1);
console.log("imgBase64:", imgBase64);
var imgURL = "data:image/" + imgBase64;
var triggerDownload = $("<a>").attr("href", imgURL).attr("download", "layout_" + new Date().getTime() + ".jpeg").appendTo("body");
triggerDownload[0].click();
triggerDownload.remove();
).catch(Delegate.create(this, function (e)
console.error("getLayoutImageBase64 Exception:", e);
);
【讨论】:
【参考方案4】:将此属性:data-html2canvas-ignore
添加到处理屏幕截图时您不想被截取的任何元素。
希望这将有助于下一个人。
【讨论】:
或者您可以在调用 html2canvas 函数之前使用 jquer/javascript 隐藏这些 div,然后在该函数之间显示。 paa g 是否适用于带有滚动的页面?我正在尝试这样做,因为我有 div 它将被转换为包含滚动的画布,但它只转换那些在屏幕上可见的元素,换句话说,它正在拍摄屏幕截图....有没有办法采取整页截图??? 我正在获取整个页面,而不仅仅是可见区域。 也帮助下一个人:“向元素添加属性”具体指<div data-html2canvas-ignore="true"> Hidden in pdf </div>
。
data-html2canvas-ignore="true"以上是关于怎样在截屏得到的图片上做标记?的主要内容,如果未能解决你的问题,请参考以下文章
基于OpenCV C++写了一个截屏程序,但是当视频总帧数为截屏间隔整数倍时候 死循环