이전시간에 올렸었던 DotFont를 사용한 샘플입니다. 기능은 사용자에게 키워드를 입력받고 해당하는 도서들을 검색합니다. 그리고 도서를 출력할 때 키워드를 DotFont로 변환하여 점 하나하나를 검색된 도서를 출력합니다. 아래는 시연 동영상입니다.
멤버십에서 작업을 하고있는데.. 멤버십 인터넷이 상당히 느려서 검색 결과가 약간 늦게 뜨네요.. ㅠㅠ
동영상을 끝까지 보다보면 한글도 잘표시가 되는 것을 확인 하실 수 있습니다. 이번 예제는 코드가 꾀 긴 관계로 중요한 코드만 여기서 설명하고 전체 소스코드는 첨부파일로 올리도록하도록 하겠습니다..
아래는 이번 예제에서 가장 핵심(?) 되는 부분이라고 할 수 있는 DotFont의 활용 부분입니다.
foreach (Point Dot in DotString)
{
Book BookItem = BookItems[Random.Next(0, BookItems.Count - 1)];
BitmapSource Source = BookItem.Image;
Rectangle DotItem = new Rectangle();
DotItem.Width = DotItem.Height = Random.Next(1500,2000) / 100;
DotItem.Fill = new ImageBrush(Source);
DotItem.Tag = BookItem;
DotItem.RenderTransform = new RotateTransform(Random.Next(-360, 360));
DotItem.MouseEnter += new MouseEventHandler(DotItem_MouseEnter);
DotItem.MouseLeave += new MouseEventHandler(DotItem_MouseLeave);
DotItem.MouseLeftButtonUp += new MouseButtonEventHandler(DotItem_MouseLeftButtonUp);
Canvas.SetLeft(DotItem, Dot.X - DotItem.Width / 2);
Canvas.SetTop(DotItem, Dot.Y - DotItem.Height / 2);
ResultCanvas.Children.Add(DotItem);
}
기타 질문은 리플이나 메일 보내주시면 답변드리도록 하겠습니다.
PS. 코드를 보시면 중간에 OPENAPI Key를 입력하시는 부분이 있습니다. 해당 부분을 본인의 OpenAPI Key로 설정하셔야 동작됩니다.

BookSearchEngine.zip
