아무도 내 ASP.NET 응용 프로그램을 통해 웹 사이트의 이미지 또는 미리보기 이미지를 검색 할 수있는 방법을 말해 줄 수 있습니까? Alexa 등 일부 사이트에서이 기능을 보았습니다.ASP.NET에서 웹 사이트의 스냅 샷을 어떻게 검색합니까?
1
A
답변
1
시도해보십시오. SnapCasa의 무료 서비스를 사용해보십시오. 다음과 같이 이미지 태그를 구성하면됩니다.
<img src="http://SnapCasa.com/Get.aspx?code=[code]&size=[size]&url=[url]" />
가입이 필요하지만 한 달에 50 만 건의 요청은 무료입니다. [코드]는 가입 후 제공하는 API입니다. [크기]는 3 가지 크기 중 하나입니다. [url]은 미리보기 이미지를 표시 할 사이트의 웹 사이트 주소입니다. 당신은 당신의 코드에서 이미지 작업 할 경우
가 여기 헬퍼 메소드의 커플 : 다음
static public byte[] GetBytesFromUrl(string url)
{
byte[] b;
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(url);
WebResponse myResp = myReq.GetResponse();
Stream stream = myResp.GetResponseStream();
//int i;
using (BinaryReader br = new BinaryReader(stream))
{
//i = (int)(stream.Length);
b = br.ReadBytes(500000);
br.Close();
}
myResp.Close();
return b;
}
static public void WriteBytesToFile(string fileName, byte[] content)
{
FileStream fs = new FileStream(fileName, FileMode.Create);
BinaryWriter w = new BinaryWriter(fs);
try
{
w.Write(content);
}
finally
{
fs.Close();
w.Close();
}
}
, 코드에서 바로 사용
//get byte array for image
var imageBytes = GetBytesFromUrl("http://SnapCasa.com/Get.aspx?code=[code]&size=[size]&url=[url]");
//save file to disk
WriteBytesToFile("c:\someImageFile.jpg", imageBytes);
0
것은 행할 수 있어야 웹 브라우저 개체를 사용하고 뷰포트를 축소판 크기로 조정 된 비트 맵에 저장합니다.
이 코드를 테스트하지는 않았지만 미리보기 매개 변수 대신 사용하여 조정 해보십시오.
using (WebBrowser wb = new WebBrowser()) {
wb.ScrollBarsEnabled = false;
wb.AllowNavigation = true;
wb.ScriptErrorsSuppressed = true;
wb.ClientSize = new Size(thumbInfo_viewportWidth, thumbInfo_viewportHeight);
if ((thumbInfo_Uri != null)) {
wb.Navigate(thumbInfo_Uri.AbsoluteUri);
} else {
wb.Navigate("about:blank");
HtmlDocument doc = wb.Document.OpenNew(true);
doc.Write(thumbInfo_HTML);
wb.Refresh(WebBrowserRefreshOption.Completely);
}
// create an image of the client area of the webbrowser control, than
// scale it down to the dimensions specified.
if ((wb.Document != null && wb.Document.Body != null)) {
Rectangle rec = default(Rectangle);
rec.Size = wb.ClientSize;
using (Bitmap fullSizeBitmap = new Bitmap(thumbInfo_viewportWidth, thumbInfo_viewportHeight)) {
wb.DrawToBitmap(fullSizeBitmap, wb.Bounds);
using (Bitmap scaledBitmap = new Bitmap(thumbInfo_width, thumbInfo_height)) {
using (Graphics gr = Graphics.FromImage(scaledBitmap)) {
gr.SmoothingMode = Drawing2D.SmoothingMode.HighQuality;
gr.CompositingQuality = Drawing2D.CompositingQuality.HighQuality;
gr.InterpolationMode = Drawing2D.InterpolationMode.High;
Rectangle rect = new Rectangle(0, 0, thumbInfo_width, thumbInfo_height);
gr.DrawImage(fullSizeBitmap, rect, 0, 0, rec.Size.Width, rec.Size.Height, GraphicsUnit.Pixel);
scaledBitmap.Save(thumbInfo_physicalPath);
}
}
}
}
}
비싼 프로세스라는 것을주의해야 할 한 가지.
관련 문제
- 1. 어떻게 안드로이드 에뮬레이터 스냅 샷을 저장합니까?
- 2. Perl에서 웹 사이트의 스크린 샷을 찍으려면 어떻게해야합니까?
- 3. jquery를 사용하여 웹 사이트의 스크린 샷을 생성하십시오.
- 4. .NET을 사용하여 웹 사이트의 스크린 샷을 어떻게 찍을 수 있습니까?
- 5. 런타임시 뷰의 스냅 샷을 생성해야합니다.
- 6. VB.Net 코드를 통해 제공된 URL 주소로 웹 사이트의 스냅 샷
- 7. 비디오 컨트롤의 스냅 샷을 찍는 방법?
- 8. 리눅스에서 PDF 파일의 스냅 샷을 찍는 방법?
- 9. Maven : 프로필을 만들어 스냅 샷을 배포하십시오.
- 10. 웹 사이트에서 플래시 인터페이스로 웹캠에서 스냅 샷을 찍는 방법은 무엇입니까?
- 11. 웹 아키텍처 - DB 스냅 샷을 효율적으로 저장하고 복원하는 방법
- 12. App Engine : 어떻게 하시겠습니까? 엔티티 스냅 샷을 작성 하시겠습니까?
- 13. PHP와 GD를 사용하여 웹 사이트의 스크린 샷을 찍으려면 어떻게해야합니까?
- 14. java : 디렉토리의 스냅 샷을 가져 와서 복원합니다.
- 15. CVS 저장소의 로컬 스냅 샷을 얻는 방법
- 16. 웹캠에서 사진 스냅 샷을 검색하려면 어떻게해야합니까?
- 17. 캔버스의 스냅 샷을 만들 수 없습니다.
- 18. base64Encode를 사용하지 않고 스냅 샷을 전송하는 Flex
- 19. Google지도의 스냅 샷을 찍는 방법은 무엇입니까?
- 20. 자식 : 자식 저장소의 스냅 샷을 얻는 방법
- 21. 스냅 샷을 복원하는 VirtualBox Python API
- 22. EC2 스냅 샷을 삭제하면 어떤 영향이 있습니까?
- 23. DB 테이블 행의 스냅 샷을 가져 옵니까?
- 24. 웹캠에서 단일 스냅 샷을 찍는 방법?
- 25. pdf 페이지의 gif 스냅 샷을 얻는 방법
- 26. JMF없이 자바로 웹캠 스냅 샷을 찍으시겠습니까?
- 27. 웹 사이트 높이를 어떻게 계산합니까?
- 28. 무인 모드에서 웹 사이트의 스크린 샷을 캡처하는 방법은 무엇입니까?
- 29. SQL Server Snapshot은 원래 데이터베이스에서 삭제 된 레코드를 어떻게 검색합니까?
- 30. ActiveX를 사용하지 않고 웹 사이트의 스크린 샷을 찍는 JavaScript 코드