B-spline curves are well-known utilities for shape modeling and analysis. They have been used in shape design and coding using least-squares (LS) approaches for years. The key disadvantage of LS approaches is its incapability to deal with corners. To reduce this effect, in this work we propose a weighted least-squares technique that puts more emphasis on the data points with larger errors. Through this mechanism, significant reduction of peak reconstruction errors can be achieved. The weight matrix is chosen by first detecting error peaks and then assigning more weight to only those few points with extraordinarily high approximation errors. The effectiveness of the proposed approach is demonstrated through experiments on two real image examples with considerably different characteristics.