Wiki


Wiki Table of Contents

Page Details

First published by:
Last revision by:
This page has not yet been rated

Silverlight Tip of the Day #103 – Use Integers for Layout Calculations

Khi tính toán vị trí của các vật thể(object) như là trong các Images, sử dụng các giá trị số nguyên (integer values)  sẽ không làm tràn các điểm giá trị.

Thí dụ, hãy nhìn vào đoạn code này đặt tại trung tâm  bản đồ vớimột vị trí nhất định:

private void CenterMap(double windowWidth, double windowHeight)
{
    if (null != _parentCanvas)
    {
        int leftPos = (int) ((windowWidth / 2) - _currentX);
        int topPos = (int) ((windowHeight / 2) - _currentY);
 
        _parentCanvas.SetValue(Canvas.LeftProperty, (double) leftPos);
        _parentCanvas.SetValue(Canvas.TopProperty, (double)topPos);
    }
}

Hãy lưu ý là tôi chuyển layout của bản đồ đặt tại left và top để được là số nguyên(integer). Screen shot là một ví dụ về sử dụng các giá trị double  thay vì là các giá trị nguyên integers. Kết quả là những image hơi mờ và các đường thẳng (hay các đường nối ) xuất hiện giữa các  hình ảnh đặt cạnh nhau.

image

So sánh ở trên với screenshot  sử dụng các số doubles với các shot bên dưới sử dụng các giá trị integers. Trong screen shot bên dưới các images sắc nét và giữa các hình đặt cạnh nhau không có các đường nối hay các đường thẳng.

image

Thank you,
--Mike Snow

Recent Comments

Leave the first comment for this page.